Ephemeris Lappis a écrit :

Hello.

I'm not sure i have understood it all. Sincerly, i remember, years ago, i
had a look at the CORBA/GIOP/IIOP marshalling protocols, and finished the
day with the same headache ! But, once more, we were lucky : we had IDL to
write our interfaces...

As i understand, wsdl doesn't give a clear difference between strict
document style, and a wrapped form, and both client and server must have
some code to serialize or deserialize a multi-part body according to,
respectively, the client data form or the server implementation form. I
suppose stubs do that.

Despite my problems with the java2wsdl task, i have finally use a 'wrapped'
axis wsdl to generate my client stubs for a single operation service that
takes a simple javabean argument (a string and an int). I use the SUN WTK
2.1 with its first JSR172 implementation, that only supports the
document/literal as specified. The service interface has been generated with
2 arguments : the string and the int. In a former test, using a true
document/literal wsdl, generated with the SUN JWSDK 1.3, the generated
operation had a single argument of a generated javabean type, as expected.
In this test case, a 2 attributes bean generates a 2 parameters method, but
in a true project with 50 attributes javabeans... supposing client and
server can communicate !


You just have to wrap your 50 attributes in a java bean.
Like :
<soap:envelope>
<doSomething>
 <myBean>
   <firstElement/>
   <secondElement/>
   ...
  </myBean>
 </doSomething>
</soap:envelope>

Since it's 'wrapped', you need to wrap the whole bean argument in another element <doSomething>.

My deduction : 'wrapped' is not 'document' for JSR172 ! I think i've read
the JSR172 requires WS-I Basic Profile compliance...


I don't know JSR172, but document-style services can really be anything you like as long as it's correctly described in the WSDL.

--
Julien

Reply via email to