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 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
