Trying to get a simple webservice running using JBossWS but getting the following exception on the server side. I was testing out a Complex Type with an array.
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize. Current setup: JBoss 4.0.3RC2 (we are targeting this release) wscompile (wsdp 1.6) I'm using Axis 1.2.1 for DII client. wsdl <?xml version="1.0" encoding="UTF-8"?> | | <definitions name="WsTestService" targetNamespace="http://wstest/" | xmlns:tns="http://wstest/" xmlns="http://schemas.xmlsoap.org/wsdl/" | xmlns:ns2="http://wstest/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" | xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> | <types> | <schema targetNamespace="http://wstest/types" | xmlns:tns="http://wstest/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="MyMsg"> | <sequence> | <element name="data" type="string" nillable="true" minOccurs="0" | maxOccurs="unbounded"/> | <element name="item1" type="string" nillable="true"/> | <element name="item2" type="string" nillable="true"/> | </sequence> | </complexType> | </schema> | </types> | <message name="WsTestEndpoint_pingMsg"> | <part name="MyMsg_1" type="ns2:MyMsg"/> | </message> | <message name="WsTestEndpoint_pingMsgResponse"> | <part name="result" type="ns2:MyMsg"/> | </message> | <portType name="WsTestEndpoint"> | <operation name="pingMsg" parameterOrder="MyMsg_1"> | <input message="tns:WsTestEndpoint_pingMsg"/> | <output message="tns:WsTestEndpoint_pingMsgResponse"/> | </operation> | </portType> | <binding name="WsTestEndpointBinding" type="tns:WsTestEndpoint"> | <soap:binding transport="http://schemas.xmlsoap.org/soap/http" | style="rpc"/> | <operation name="pingMsg"> | <soap:operation soapAction=""/> | <input> | <soap:body use="literal" namespace="http://wstest/"/> | </input> | <output> | <soap:body use="literal" namespace="http://wstest/"/> | </output> | </operation> | </binding> | <service name="WsTestService"> | <port name="WsTestEndpointPort" binding="tns:WsTestEndpointBinding"> | <soap:address location="REPLACE_WITH_ACTUAL_URL"/> | </port> | </service> | </definitions> mapping.xml | <?xml version="1.0" encoding="UTF-8"?> | <java-wsdl-mapping 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" | version="1.1"> | <package-mapping> | <package-type>wstest</package-type> | <namespaceURI>http://wstest/types</namespaceURI> | </package-mapping> | <package-mapping> | <package-type>wstest</package-type> | <namespaceURI>http://wstest/</namespaceURI> | </package-mapping> | <java-xml-type-mapping> | <java-type>wstest.MyMsg</java-type> | <root-type-qname xmlns:typeNS="http://wstest/types"> | typeNS:MyMsg</root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>data</java-variable-name> | <xml-element-name>data</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>item1</java-variable-name> | <xml-element-name>item1</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>item2</java-variable-name> | <xml-element-name>item2</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <service-interface-mapping> | <service-interface>wstest.WsTestService</service-interface> | <wsdl-service-name xmlns:serviceNS="http://wstest/"> | serviceNS:WsTestService</wsdl-service-name> | <port-mapping> | <port-name>WsTestEndpointPort</port-name> | <java-port-name>WsTestEndpointPort</java-port-name> | </port-mapping> | </service-interface-mapping> | <service-endpoint-interface-mapping> | <service-endpoint-interface> | wstest.WsTestEndpoint</service-endpoint-interface> | <wsdl-port-type xmlns:portTypeNS="http://wstest/"> | portTypeNS:WsTestEndpoint</wsdl-port-type> | <wsdl-binding xmlns:bindingNS="http://wstest/"> | bindingNS:WsTestEndpointBinding</wsdl-binding> | <service-endpoint-method-mapping> | <java-method-name>pingMsg</java-method-name> | <wsdl-operation>pingMsg</wsdl-operation> | <method-param-parts-mapping> | <param-position>0</param-position> | <param-type>wstest.MyMsg</param-type> | <wsdl-message-mapping> | <wsdl-message xmlns:wsdlMsgNS="http://wstest/"> | wsdlMsgNS:WsTestEndpoint_pingMsg</wsdl-message> | <wsdl-message-part-name>MyMsg_1</wsdl-message-part-name> | <parameter-mode>IN</parameter-mode> | </wsdl-message-mapping> | </method-param-parts-mapping> | <wsdl-return-value-mapping> | <method-return-value>wstest.MyMsg</method-return-value> | <wsdl-message xmlns:wsdlMsgNS="http://wstest/"> | wsdlMsgNS:WsTestEndpoint_pingMsgResponse</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> | webservices.xml | <?xml version="1.0" encoding="UTF-8"?> | | <webservices 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://java.sun.com/xml/ns/j2ee/j2ee_web_services_1_1.xsd" | version="1.1"> | | <webservice-description> | <icon> | </icon> | | <webservice-description-name>WsTestService</webservice-description-name> | | <wsdl-file>META-INF/wsdl/WsTestService.wsdl</wsdl-file> | <jaxrpc-mapping-file>META-INF/wstest-mapping.xml</jaxrpc-mapping-file> | | <port-component> | | <icon> | </icon> | | <port-component-name>WsTestEndpoint</port-component-name> | <wsdl-port>WsTestEndpointPort</wsdl-port> | <service-endpoint-interface> | wstest.WsTestEndpoint</service-endpoint-interface> | <service-impl-bean> | <ejb-link>WsTest</ejb-link> | </service-impl-bean> | </port-component> | | </webservice-description> | | </webservices> | | | SessionBean enpoint. | | public class WsTestBean implements SessionBean { | | public MyMsg pingMsg(MyMsg msg) { | System.out.println(msg); | return msg; | } | } | Simple data object with String fields and String array. | | public class MyMsg implements Serializable { | | private String item1; | private String item2; | private String[] data; | | public MyMsg() { | } | | public String[] getData() { | return data; | } | | public void setData(String[] data) { | this.data = data; | } | | public String getItem1() { | return item1; | } | | public void setItem1(String item1) { | this.item1 = item1; | } | | public String getItem2() { | return item2; | } | | public void setItem2(String item2) { | this.item2 = item2; | } | } | | Axis is generating ths following SOAP message. | <?xml version="1.0" encoding="UTF-8"?> | <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | <soapenv:Body> | <pingMsg xmlns="http://wstest/"> | <MyMsg_1 xmlns=""> | <data> | <data>shawn</data> | <data>white</data> | </data> | <item1>ip</item1> | <item2 xsi:nil="true"/> | </MyMsg_1> | </pingMsg> | </soapenv:Body> | </soapenv:Envelope> | Basically is seems to fail on the array field. I took the array field out and it worked fine. I'm not using a ws4ee-deployment.xml file as the one being auto generated seems fine. Though, I did try it to no avail. I belive I've followed all the advice on the WIKI but a bit at a loss why the String[] is not being handled properly. Also for some reason Axis is not putting the xmlns value for the parameter, so JBossWS also gives a warning about this (this normal?). Is this possibly the cause? Any help would be very appreciated View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3892178#3892178 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3892178 ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ JBoss-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-user
