axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Daniels <>
Subject RE: rpc/literal support in explicitHeaderWork branch
Date Mon, 07 Oct 2002 04:47:23 GMT

Hi Rich!

I haven't had a chance to review the code yet, but the description below sounds great.  My
only concern is the connection between multirefs and encodingStyle - there might be other
encodingStyles which people come up with (Use.ENCODED?) which don't support multi-ref.....
I'd been thinking that perhaps just adding encodingStyle at the operation/RPCParam level would
solve the problem (literal is encodingStyle=""), rather than introducing another concept,
but I'm not sure.  Just musing.


> -----Original Message-----
> From: R J Scheuerle Jr []
> Sent: Friday, October 04, 2002 6:08 PM
> To:
> Subject: rpc/literal support in explicitHeaderWork branch
> I just added better rpc/literal support to the 
> explicitHeaderWork branch.
> Please review my latest commit.
> Problem: The runtime uses the available Style information 
> (Style.DOCUMENT,
> Style.RPC, Style.WRAPPED)
> to determine how to serialize/deserialize the message.  And 
> in some cases
> it uses this information incorrectly.  For
> example SerializationContextImpl assumes that Style.RPC means
> use=encoded....which is definitely wrong
> for rpc/literal.
> Solution: I determined that the best approach was to introduce a Use
> enumeration (Use.LITERAL and Use.ENCODED).
> I examined all of the code that referenced the Style 
> information and added
> appropriate changes for Use information.
> So for example the SerializationContextImpl now uses Use.LITERAL
> information to turn off multi-ref processing.
> Note that the wsdd service now has a "use" attribute that can have the
> values "literal" or "encoded".  The
> default is use="literal" if style="document" and use="encoded" if
> style="rpc".  The WSDL2Java emitter
> generates the appropriate setting when it generates the 
> deploy.wsdd file.
> Another visible change is the addition of the setOperationUse(..) and
> getOperationUse() public methods on the
> Call object.  (These are similar to the existing 
> setOperationStyle(..) and
> getOperationStyle() methods.)  These
> methods are necessary so the stub can generate 
> setOperationStyle("rpc")
> setOperationUse("literal") for rpc/literal.
> The methods are also available for DII usage.
> In addition, I upgraded the WSDL2Java code to use the Style/Use
> enumerations (instead of constant ints).
> This makes the emitter consistent with the runtime.
> Action:
> In my opinion, these changes are straight-forward and live 
> nicely with the
> existing Style code.
> They also make the runtime a little more self-documenting.
> After Russell and I finish up the SOAP Header support, we 
> will be calling
> for a VOTE on this branch.
> I wanted to give everyone a HEADS UP on some of the changes.
> Thanks,
> Rich Scheuerle
> IBM WebSphere & Axis Web Services Development
> 512-838-5115  (IBM TL 678-5115)

View raw message