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.

--Glen

> -----Original Message-----
> From: R J Scheuerle Jr [mailto:[EMAIL PROTECTED]]
> Sent: Friday, October 04, 2002 6:08 PM
> To: [EMAIL PROTECTED]
> 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)
> 

Reply via email to