[jbossws-dev] [Design of JBoss Web Services] - Re: JBWS-1452 - WSDL To Java, Array unwrapping.

darran.lofthouse@jboss.com do-not-reply at jboss.com
Sat Jan 13 08:29:35 EST 2007


Thanks for the information, I have been looking at the test case for http://jira.jboss.com/jira/browse/JBWS-732 to try and get a better understanding of the expected behaviour of array unwrapping.

I have the following defined in my WSDL: -

 <types>
  |   <schema targetNamespace='http://test.jboss.org/ws/jbws1452/types' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://test.jboss.org/ws/jbws1452/types' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
  | 
  |    <complexType name='testMethod'>
  |     <sequence>
  |      <element name='request' nillable='true' type='tns:RequestStringArray'/>
  |     </sequence>
  |    </complexType>
  | 
  |    <complexType name='RequestStringArray'>
  |     <sequence>
  |      <element name='TheStrings' type='string' maxOccurs='unbounded'/>
  |     </sequence>
  |    </complexType>
  | 
  |    <complexType name='testMethodResponse'>
  |     <sequence>
  |      <element name='result' nillable='true' type='tns:ResponseStringArray'/>
  |     </sequence>
  |    </complexType>
  | 
  |    <complexType name='ResponseStringArray'>
  |     <sequence>
  |      <element name='TheStrings' type='string' maxOccurs='unbounded'/>
  |     </sequence>   
  |    </complexType>
  | 
  |    <element name='testMethod' type='tns:testMethod'/>
  |    <element name='testMethodResponse' type='tns:testMethodResponse'/>
  |   </schema>
  |  </types>
  |  <message name='TestEndpoint_testMethod'>
  |   <part element='ns1:testMethod' name='testMethod'/>
  |  </message>
  |  <message name='TestEndpoint_testMethodResponse'>
  |   <part element='ns1:testMethodResponse' name='testMethodResponse'/>
  |  </message>
  | 

I believe this matches the wrapped array example from the test case.  The complexType  'testMethod' contains a sequence with a single element which references a complexType 'RequestStringArray' which contains a sequence that just contains the array.  Using wstools the following method is generated on the SEI: -

(Packages removed for readability)

  | public ResponseStringArray testMethod(RequestStringArray request) 
  |              throws  RemoteException;
  | 

So the first stage of parameter unwrapping has occured but I don't think the array unwrapping has occured, I was expecting the method to look like: -


  | public String[] testMethod(String[] request) 
  |              throws  RemoteException;
  | 


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4001285#4001285

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4001285



More information about the jbossws-dev mailing list