[jboss-user] [JBossWS] - SOLUTION! (yeah, for reals)

tomstrummer do-not-reply at jboss.com
Tue Jul 8 16:05:44 EDT 2008


Ok!  I was actually able to convert the rpc/encoded WSDL to rpc/literal.  So I use my modified WSDL against the service rather than their rpc/encoded one.  I realized the response is valid rpc/literal, just with some added xsi:type attributes. 

First step:  convert the WSDL:
Convert the <soap:body attribute to use="literal" and remove the encodingStyle attribute.

Second step:  convert any complexTypes to not extend soapenc:Array:
Any types that use <xs:restriction base="soapenc:Array"> can be changed to this:
For a loosely-typed array (JAXB will map it to a List):

  | <xs:complexType name="VariantArray">
  |         <xs:complexContent>
  |           <xs:extension base="ns1:GlxNode">
  |             <xs:sequence>
  |             	<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
  |             </xs:sequence>
  |           </xs:extension>
  |         </xs:complexContent>
  |       </xs:complexType>
  | 
or for a typed List:

  |       <xs:complexType name="StringArray">
  |         <xs:complexContent>
  |           <xs:extension base="ns1:GlxNode">
  |             <xs:sequence>
  |               <xs:element name="String" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
  |             </xs:sequence>
  |           </xs:extension>
  |         </xs:complexContent>        	
  |       </xs:complexType>
  | 
Just chose your own "base" type to extend or just create a new ComplexType.  

Note also that I ended up switching to Metro (JAX-WS) 1.2 rather than JBossWS.  But using JBossWS as a client seemed to work as well.  

This is a bit of a pain but still a hell of a lot better than not being able to consume an RPC/encoded service or being stuck using Axis 1.  Hope this helps someone as I couldn't find any other solution in all my searching.

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

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



More information about the jboss-user mailing list