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) >