axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dennis Sosnoski <...@sosnoski.com>
Subject [Axis2] Options questions
Date Thu, 14 Sep 2006 07:28:19 GMT
I'm also working on documentation for org.apache.axis2.client.Options, 
and again ran into some questions. Here's the list:

1. The COPY_PROPERTIES constant appears to be specifically for use by 
org.apache.axis2.context.AbstractContext? Also, the comment for the 
setProperties(Map) method discusses this flag, but doesn't actually do 
anything relating to it that I can see. I'm thinking the COPY_PROPERTIES 
constant should be moved to org.apache.axis2.context.AbstractContext and 
all mention of it dropped from Options, since it's just one of many 
special options.

2. The getProperties() method isn't clear on what should be expected - 
for instance, can the returned map be manipulated directly by the user, 
or is it expected to be read-only? The code seems inconsistent, in that 
if there *are* any properties defined the map is returned directly, but 
if not then a copy of the parent properties map is returned. What is the 
intended use of this method?

3. The getRelatesTo(String) method doesn't make any allowance for 
multiple RelatesTo items with the same RelationshipType value. I didn't 
see anything in the WS-Addressing spec that says the RelationshipType 
values have to be unique, so I wonder if we need to worry about this case.

4. The senderTransportProtocol field is only set by a deprecated method 
(setTransportInfo()) and doesn't appear to be used for anything, so it 
seems confusing to have this exposed as part of the API (via the 
getSenderTransportProtocol() method). I suggest deleting the field and 
method.

5. You can add ReferenceParameters using the addReferenceParameter() 
method - but there's no way to get the values, so WS-Addressing handling 
has apparently not been implemented. If we're going to have the add 
method present, we should implement handling.

6. Somewhat related to (5), the isManageSessions() and 
setManageSessions() methods set a flag which is in turn used by the 
addReferenceParameters() methods of 
org.apache.axis2.description.OutOnlyAxisOperation and 
OutInAxisOperation, but it's somewhat obscure to me what these are 
doing. Can anyone give the intended purpose of this manageSessions 
property of Options?

7. General comment on the design of this class - we've got a mix of 
values that are accessed using specific methods 
(get/setSoapVersionURI(), getSetTimeOutInMilliSeconds(), etc.) along 
with general properties that are stored in the map. It'd probably be 
cleaner and simpler to just store *all* property values in the map, 
using the current defined get/set methods simply as convenience methods 
to access values with predefined keys ("SOAPVersionURI" and 
"TimeOutInMilliSeconds", for instance).

I'll enter Jiras for any appropriate issues, but wanted to first check 
the collective wisdom of the list for insights.

  - Dennis

-- 
Dennis M. Sosnoski
SOA, Web Services, and XML
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-296-6194 - Wellington, NZ +64-4-298-6117


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message