I'm trying to get a .NET client to interface with a JBOSS deployed web service 
using Jboss 4.0.3SP1.   I started with the examples from the Wiki using 
document/literal.  I've tried the steps manually and have recently simply 
deployed the code and WSDL (with the addition of 
elementFormDefault="qualified") and other artifacts directly from the 
jbossws-samples-4[1].0.3.   Everything deploys OK and I can generate stubs on 
the client without error.  When I send the request, however, I get an invalid 
element error from JBOSS:

Invalid element in 
org.jboss.test.webservice.samples2.OrderProcess_processOrder_RequestStruct - 
Person_2


The SOAP request from the .NET client is:

<?xml version="1.0" encoding="utf-8"?><soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";       
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  | <soap:Body>
  |     <processOrder xmlns="http://org.jboss.test.webservice/samples2/types";>
  |         <arrayOfOrderItem_1>
  |             <name>Book</name>
  |             <quantity>3</quantity>
  |         </arrayOfOrderItem_1>
  |         <arrayOfOrderItem_1>
  |             <name>Glasses</name>
  |              <quantity>2</quantity>
  |         </arrayOfOrderItem_1>
  |         <Person_2>
  |             <age>32</age>
  |             <name>Ron</name>
  |         </Person_2>
  |     </processOrder>
  |   </soap:Body>
  | </soap:Envelope>

The WSDL (which came from the samples zip file, except for my 
elementFormDefault="qualified" addition) is:



<?xml version="1.0" encoding="UTF-8"?>
  | 
  | <definitions name="OrderProcessService" 
targetNamespace="http://org.jboss.test.webservice/samples2"; 
xmlns:tns="http://org.jboss.test.webservice/samples2"; 
xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:ns2="http://org.jboss.test.webservice/samples2/types"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";>
  |   <types>
  |     <schema elementFormDefault="qualified" 
targetNamespace="http://org.jboss.test.webservice/samples2/types"; 
xmlns:tns="http://org.jboss.test.webservice/samples2/types"; 
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns="http://www.w3.org/2001/XMLSchema";>
  |       <complexType name="processOrder">
  |         <sequence>
  |           <element name="arrayOfOrderItem_1" type="tns:OrderItem" 
nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  |           <element name="Person_2" type="tns:Person" nillable="true"/>
  |         </sequence>
  |       </complexType>
  |       <complexType name="OrderItem">
  |         <sequence>
  |           <element name="name" type="string" nillable="true"/>
  |           <element name="quantity" type="int"/>
  |         </sequence>
  |       </complexType>
  |       <complexType name="Person">
  |         <sequence>
  |           <element name="age" type="int"/>
  |           <element name="name" type="string" nillable="true"/>
  |         </sequence>
  |       </complexType>
  |       <complexType name="processOrderResponse">
  |         <sequence>
  |           <element name="result" type="tns:OrderResponse" nillable="true"/>
  |         </sequence>
  |       </complexType>
  |       <complexType name="OrderResponse">
  |         <sequence>
  |           <element name="items" type="tns:OrderItem" nillable="true" 
minOccurs="0" maxOccurs="unbounded"/>
  |           <element name="message" type="string" nillable="true"/>
  |         </sequence>
  |       </complexType>
  |       <complexType name="OrderException">
  |         <sequence>
  |           <element name="message" type="string" nillable="true"/>
  |         </sequence>
  |       </complexType>
  |       <element name="processOrder" type="tns:processOrder"/>
  |       <element name="processOrderResponse" type="tns:processOrderResponse"/>
  |       <element name="OrderException" type="tns:OrderException"/>
  |     </schema>
  |   </types>
  |   <message name="OrderProcess_processOrder">
  |     <part name="parameters" element="ns2:processOrder"/>
  |   </message>
  |   <message name="OrderProcess_processOrderResponse">
  |     <part name="result" element="ns2:processOrderResponse"/>
  |   </message>
  |   <message name="OrderException">
  |     <part name="OrderException" element="ns2:OrderException"/>
  |   </message>
  |   <portType name="OrderProcess">
  |     <operation name="processOrder">
  |       <input message="tns:OrderProcess_processOrder"/>
  |       <output message="tns:OrderProcess_processOrderResponse"/>
  |       <fault name="OrderException" message="tns:OrderException"/>
  |     </operation>
  |   </portType>
  |   <binding name="OrderProcessBinding" type="tns:OrderProcess">
  |     <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
  |     <operation name="processOrder">
  |       <soap:operation soapAction=""/>
  |       <input>
  |         <soap:body use="literal"/>
  |       </input>
  |       <output>
  |         <soap:body use="literal"/>
  |       </output>
  |       <fault name="OrderException">
  |         <soap:fault name="OrderException" use="literal"/>
  |       </fault>
  |     </operation>
  |   </binding>
  |   <service name="OrderProcessService">
  |     <port name="OrderProcessPort" binding="tns:OrderProcessBinding">
  |       <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
  |     </port>
  |   </service>
  | </definitions>
  | 

The jaxrpc-mapping.xml (once again from the samples zip):
<?xml version="1.0" encoding="UTF-8"?>
  | <java-wsdl-mapping version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee    
http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd";>
  |   <package-mapping>
  |     <package-type>org.jboss.test.webservice.samples2</package-type>
  |     
<namespaceURI>http://org.jboss.test.webservice/samples2/types</namespaceURI>
  |   </package-mapping>
  |   <package-mapping>
  |     <package-type>org.jboss.test.webservice.samples2</package-type>
  |     <namespaceURI>http://org.jboss.test.webservice/samples2</namespaceURI>
  |   </package-mapping>
  |   <java-xml-type-mapping>
  |     <java-type>org.jboss.test.webservice.samples2.OrderException</java-type>
  |     <root-type-qname 
xmlns:typeNS="http://org.jboss.test.webservice/samples2/types";>typeNS:OrderException</root-type-qname>
  |     <qname-scope>complexType</qname-scope>
  |     <variable-mapping>
  |       <java-variable-name>message</java-variable-name>
  |       <xml-element-name>message</xml-element-name>
  |     </variable-mapping>
  |   </java-xml-type-mapping>
  |   <java-xml-type-mapping>
  |     <java-type>org.jboss.test.webservice.samples2.OrderResponse</java-type>
  |     <root-type-qname 
xmlns:typeNS="http://org.jboss.test.webservice/samples2/types";>typeNS:OrderResponse</root-type-qname>
  |     <qname-scope>complexType</qname-scope>
  |     <variable-mapping>
  |       <java-variable-name>items</java-variable-name>
  |       <xml-element-name>items</xml-element-name>
  |     </variable-mapping>
  |     <variable-mapping>
  |       <java-variable-name>message</java-variable-name>
  |       <xml-element-name>message</xml-element-name>
  |     </variable-mapping>
  |   </java-xml-type-mapping>
  |   <java-xml-type-mapping>
  |     <java-type>org.jboss.test.webservice.samples2.Person</java-type>
  |     <root-type-qname 
xmlns:typeNS="http://org.jboss.test.webservice/samples2/types";>typeNS:Person</root-type-qname>
  |     <qname-scope>complexType</qname-scope>
  |     <variable-mapping>
  |       <java-variable-name>age</java-variable-name>
  |       <xml-element-name>age</xml-element-name>
  |     </variable-mapping>
  |     <variable-mapping>
  |       <java-variable-name>name</java-variable-name>
  |       <xml-element-name>name</xml-element-name>
  |     </variable-mapping>
  |   </java-xml-type-mapping>
  |   <java-xml-type-mapping>
  |     
<java-type>org.jboss.test.webservice.samples2.OrderProcess_processOrder_RequestStruct</java-type>
  |     <root-type-qname 
xmlns:typeNS="http://org.jboss.test.webservice/samples2/types";>typeNS:processOrder</root-type-qname>
  |     <qname-scope>complexType</qname-scope>
  |     <variable-mapping>
  |       <java-variable-name>arrayOfOrderItem_1</java-variable-name>
  |       <xml-element-name>arrayOfOrderItem_1</xml-element-name>
  |     </variable-mapping>
  |     <variable-mapping>
  |       <java-variable-name>Person_2</java-variable-name>
  |       <xml-element-name>Person_2</xml-element-name>
  |     </variable-mapping>
  |   </java-xml-type-mapping>
  |   <java-xml-type-mapping>
  |     <java-type>org.jboss.test.webservice.samples2.OrderItem</java-type>
  |     <root-type-qname 
xmlns:typeNS="http://org.jboss.test.webservice/samples2/types";>typeNS:OrderItem</root-type-qname>
  |     <qname-scope>complexType</qname-scope>
  |     <variable-mapping>
  |       <java-variable-name>name</java-variable-name>
  |       <xml-element-name>name</xml-element-name>
  |     </variable-mapping>
  |     <variable-mapping>
  |       <java-variable-name>quantity</java-variable-name>
  |       <xml-element-name>quantity</xml-element-name>
  |     </variable-mapping>
  |   </java-xml-type-mapping>
  |   <java-xml-type-mapping>
  |     
<java-type>org.jboss.test.webservice.samples2.OrderProcess_processOrder_ResponseStruct</java-type>
  |     <root-type-qname 
xmlns:typeNS="http://org.jboss.test.webservice/samples2/types";>typeNS:processOrderResponse</root-type-qname>
  |     <qname-scope>complexType</qname-scope>
  |     <variable-mapping>
  |       <java-variable-name>result</java-variable-name>
  |       <xml-element-name>result</xml-element-name>
  |     </variable-mapping>
  |   </java-xml-type-mapping>
  |   <exception-mapping>
  |     
<exception-type>org.jboss.test.webservice.samples2.OrderException</exception-type>
  |     <wsdl-message 
xmlns:exMsgNS="http://org.jboss.test.webservice/samples2";>exMsgNS:OrderException</wsdl-message>
  |     <constructor-parameter-order>
  |       <element-name>message</element-name>
  |     </constructor-parameter-order>
  |   </exception-mapping>
  |   <service-interface-mapping>
  |     
<service-interface>org.jboss.test.webservice.samples2.OrderProcessService</service-interface>
  |     <wsdl-service-name 
xmlns:serviceNS="http://org.jboss.test.webservice/samples2";>serviceNS:OrderProcessService</wsdl-service-name>
  |     <port-mapping>
  |       <port-name>OrderProcessPort</port-name>
  |       <java-port-name>OrderProcessPort</java-port-name>
  |     </port-mapping>
  |   </service-interface-mapping>
  |   <service-endpoint-interface-mapping>
  |     
<service-endpoint-interface>org.jboss.test.webservice.samples2.OrderProcess</service-endpoint-interface>
  |     <wsdl-port-type 
xmlns:portTypeNS="http://org.jboss.test.webservice/samples2";>portTypeNS:OrderProcess</wsdl-port-type>
  |     <wsdl-binding 
xmlns:bindingNS="http://org.jboss.test.webservice/samples2";>bindingNS:OrderProcessBinding</wsdl-binding>
  |     <service-endpoint-method-mapping>
  |       <java-method-name>processOrder</java-method-name>
  |       <wsdl-operation>processOrder</wsdl-operation>
  |       <wrapped-element/>
  |       <method-param-parts-mapping>
  |         <param-position>0</param-position>
  |         
<param-type>org.jboss.test.webservice.samples2.OrderItem[]</param-type>
  |         <wsdl-message-mapping>
  |           <wsdl-message 
xmlns:wsdlMsgNS="http://org.jboss.test.webservice/samples2";>wsdlMsgNS:OrderProcess_processOrder</wsdl-message>
  |           
<wsdl-message-part-name>arrayOfOrderItem_1</wsdl-message-part-name>
  |           <parameter-mode>IN</parameter-mode>
  |         </wsdl-message-mapping>
  |       </method-param-parts-mapping>
  |       <method-param-parts-mapping>
  |         <param-position>1</param-position>
  |         <param-type>org.jboss.test.webservice.samples2.Person</param-type>
  |         <wsdl-message-mapping>
  |           <wsdl-message 
xmlns:wsdlMsgNS="http://org.jboss.test.webservice/samples2";>wsdlMsgNS:OrderProcess_processOrder</wsdl-message>
  |           <wsdl-message-part-name>Person_2</wsdl-message-part-name>
  |           <parameter-mode>IN</parameter-mode>
  |         </wsdl-message-mapping>
  |       </method-param-parts-mapping>
  |       <wsdl-return-value-mapping>
  |         
<method-return-value>org.jboss.test.webservice.samples2.OrderResponse</method-return-value>
  |         <wsdl-message 
xmlns:wsdlMsgNS="http://org.jboss.test.webservice/samples2";>wsdlMsgNS:OrderProcess_processOrderResponse</wsdl-message>
  |         <wsdl-message-part-name>result</wsdl-message-part-name>
  |       </wsdl-return-value-mapping>
  |     </service-endpoint-method-mapping>
  |   </service-endpoint-interface-mapping>
  | </java-wsdl-mapping>
  | 

>From what I've read, the SOAP request looks reasonable, except that it doesn't 
>have qualified name spaces for each element.  My interpretation of the spec is 
>that this is required, but I'm not an expert.  I've looked through the forums 
>and can see lots of interoperability issues related to qualified vs. 
>nonqualified, but most of those seem to involve axis being unaware of the 
>schema and sending unqualified responses.  In my case, I haven't even gotten 
>JBOSS to accept the request from the .NET client.


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

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


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to