I have a document-literal webservice that I hope to talk to via a dynamic proxy. I have generated the client objects using the wscompile tool, but I when I send a request using a complex type, I get a error:
Caused by: java.io.IOException: No serializer found for class org.jboss.test.web service.samples.AddRequest in registry [EMAIL PROTECTED] 300c I don't see anywhere where I can tell the client code how to serialize that object. Am I missing something? wsdl: | <?xml version="1.0" encoding="UTF-8"?> | | <definitions name="OrganizationService" | targetNamespace="http://org.jboss.test.webservice/samples" | xmlns:tns="http://org.jboss.test.webservice/samples" | xmlns="http://schemas.xmlsoap.org/wsdl/" | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> | <types> | <xsd:schema targetNamespace="http://org.jboss.test.webservice/samples" | xmlns:tns="http://org.jboss.test.webservice/samples" | 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" | elementFormDefault="unqualified" | attributeFormDefault="unqualified"> | | <!-- Define general elements --> | <xsd:element name="ApplicationId" type="xsd:string"/> | <xsd:element name="ServerId" type="xsd:string"/> | <xsd:element name="RequestId" type="xsd:string"/> | <xsd:element name="Locale" type="xsd:string"/> | <xsd:element name="Timezone" type="xsd:string"/> | <xsd:element name="RequestProcessingTime" type="xsd:double"/> | <xsd:element name="Result"> | <xsd:simpleType> | <xsd:restriction base="xsd:string"> | <xsd:enumeration value="Success"/> | <xsd:enumeration value="Failure"/> | </xsd:restriction> | </xsd:simpleType> | </xsd:element> | <xsd:element name="Error"> | <xsd:complexType> | <xsd:sequence> | <xsd:element name="ErrorCode" type="xsd:int"/> | <xsd:element name="ErrorMessage" type="xsd:string"/> | </xsd:sequence> | </xsd:complexType> | </xsd:element> | <xsd:element name="Errors"> | <xsd:complexType> | <xsd:sequence> | <xsd:element ref="tns:Error" minOccurs="0" maxOccurs="unbounded"/> | </xsd:sequence> | </xsd:complexType> | </xsd:element> | | <xsd:complexType name="OperationRequest"> | <xsd:sequence> | <xsd:element ref="tns:ApplicationId"/> | <xsd:element ref="tns:Locale" minOccurs="0"/> | <xsd:element ref="tns:Timezone" minOccurs="0"/> | </xsd:sequence> | </xsd:complexType> | | <xsd:complexType name="OperationResponse"> | <xsd:sequence> | <xsd:element ref="tns:ApplicationId"/> | <xsd:element ref="tns:ServerId"/> | <xsd:element ref="tns:RequestId"/> | <xsd:element ref="tns:RequestProcessingTime"/> | <xsd:element ref="tns:Locale" minOccurs="0"/> | <xsd:element ref="tns:Timezone" minOccurs="0"/> | <xsd:element ref="tns:Result"/> | <xsd:element ref="tns:Errors"/> | </xsd:sequence> | </xsd:complexType> | | <!-- Define Objects --> | <xsd:complexType name="Person"> | <xsd:sequence> | <xsd:element name="Name" type="xsd:string"/> | <xsd:element name="Age" type="xsd:int"/> | </xsd:sequence> | </xsd:complexType> | | <!-- Define requests --> | <xsd:complexType name="AddRequestPayload"> | <xsd:sequence> | <xsd:element name="x" type="xsd:int"/> | <xsd:element name="y" type="xsd:int"/> | </xsd:sequence> | </xsd:complexType> | <xsd:element name="AddRequest"> | <xsd:complexType> | <xsd:sequence> | <xsd:element name="RequestInfo" type="tns:OperationRequest" minOccurs="1"/> | <xsd:element name="Request" type="tns:AddRequestPayload" minOccurs="1"/> | </xsd:sequence> | </xsd:complexType> | </xsd:element> | | <!-- Define responses --> | <xsd:complexType name="AddResponsePayload"> | <xsd:sequence> | <xsd:element name="result" type="xsd:int"/> | </xsd:sequence> | </xsd:complexType> | <xsd:element name="AddResponse"> | <xsd:complexType> | <xsd:sequence> | <xsd:element name="ResponseInfo" type="tns:OperationResponse" minOccurs="1"/> | <xsd:element name="Response" type="tns:AddResponsePayload" minOccurs="1"/> | </xsd:sequence> | </xsd:complexType> | </xsd:element> | | </xsd:schema> | </types> | | <message name="AddResponseMsg"> | <part name="parameters" element="tns:AddResponse"/> | </message> | <message name="AddRequestMsg"> | <part name="result" element="tns:AddRequest"/> | </message> | | <portType name="Organization"> | <operation name="add"> | <input message="tns:AddRequestMsg"/> | <output message="tns:AddResponseMsg"/> | </operation> | </portType> | | <binding name="OrganizationBinding" type="tns:Organization"> | <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> | <operation name="add"> | <soap:operation soapAction=""/> | <input> | <soap:body use="literal" namespace="http://org.jboss.test.webservice/samples"/> | </input> | <output> | <soap:body use="literal" namespace="http://org.jboss.test.webservice/samples"/> | </output> | </operation> | </binding> | | <service name="OrganizationService"> | <port name="OrganizationPort" binding="tns:OrganizationBinding"> | <soap:address location="REPLACE_WITH_ACTUAL_URL"/> | </port> | </service> | | </definitions> | rpc-mapping: | | <?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" version="1.1" 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.samples</package-type> | <namespaceURI>http://org.jboss.test.webservice/samples</namespaceURI> | </package-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.Errors</java-type> | <anonymous-type-qname>http://org.jboss.test.webservice/samples:>OperationResponse>Errors</anonymous-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>error</java-variable-name> | <xml-element-name>Error</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.AddResponse</java-type> | <anonymous-type-qname>http://org.jboss.test.webservice/samples:>AddResponse</anonymous-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>responseInfo</java-variable-name> | <xml-element-name>ResponseInfo</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>response</java-variable-name> | <xml-element-name>Response</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.AddRequest</java-type> | <anonymous-type-qname>http://org.jboss.test.webservice/samples:>AddRequest</anonymous-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>requestInfo</java-variable-name> | <xml-element-name>RequestInfo</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>request</java-variable-name> | <xml-element-name>Request</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.AddRequestPayload</java-type> | <root-type-qname xmlns:typeNS="http://org.jboss.test.webservice/samples">typeNS:AddRequestPayload</root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>x</java-variable-name> | <xml-element-name>x</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>y</java-variable-name> | <xml-element-name>y</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.Error</java-type> | <anonymous-type-qname>http://org.jboss.test.webservice/samples:>>OperationResponse>Errors>Error</anonymous-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>errorCode</java-variable-name> | <xml-element-name>ErrorCode</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>errorMessage</java-variable-name> | <xml-element-name>ErrorMessage</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.OperationRequest</java-type> | <root-type-qname xmlns:typeNS="http://org.jboss.test.webservice/samples">typeNS:OperationRequest</root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>applicationId</java-variable-name> | <xml-element-name>ApplicationId</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>locale</java-variable-name> | <xml-element-name>Locale</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>timezone</java-variable-name> | <xml-element-name>Timezone</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.AddResponsePayload</java-type> | <root-type-qname xmlns:typeNS="http://org.jboss.test.webservice/samples">typeNS:AddResponsePayload</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> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.OperationResponse</java-type> | <root-type-qname xmlns:typeNS="http://org.jboss.test.webservice/samples">typeNS:OperationResponse</root-type-qname> | <qname-scope>complexType</qname-scope> | <variable-mapping> | <java-variable-name>applicationId</java-variable-name> | <xml-element-name>ApplicationId</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>serverId</java-variable-name> | <xml-element-name>ServerId</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>requestId</java-variable-name> | <xml-element-name>RequestId</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>requestProcessingTime</java-variable-name> | <xml-element-name>RequestProcessingTime</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>locale</java-variable-name> | <xml-element-name>Locale</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>timezone</java-variable-name> | <xml-element-name>Timezone</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>result</java-variable-name> | <xml-element-name>Result</xml-element-name> | </variable-mapping> | <variable-mapping> | <java-variable-name>errors</java-variable-name> | <xml-element-name>Errors</xml-element-name> | </variable-mapping> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.Error[]</java-type> | <anonymous-type-qname>http://org.jboss.test.webservice/samples:>OperationResponse>Errors>Error[0,unbounded]</anonymous-type-qname> | <qname-scope>complexType</qname-scope> | </java-xml-type-mapping> | <java-xml-type-mapping> | <java-type>org.jboss.test.webservice.samples.Result</java-type> | <anonymous-type-qname>http://org.jboss.test.webservice/samples:>OperationResponse>Result</anonymous-type-qname> | <qname-scope>simpleType</qname-scope> | </java-xml-type-mapping> | <service-interface-mapping> | <service-interface>org.jboss.test.webservice.samples.OrganizationService</service-interface> | <wsdl-service-name xmlns:serviceNS="http://org.jboss.test.webservice/samples">serviceNS:OrganizationService</wsdl-service-name> | <port-mapping> | <port-name>OrganizationPort</port-name> | <java-port-name>OrganizationPort</java-port-name> | </port-mapping> | </service-interface-mapping> | <service-endpoint-interface-mapping> | <service-endpoint-interface>org.jboss.test.webservice.samples.Organization</service-endpoint-interface> | <wsdl-port-type xmlns:portTypeNS="http://org.jboss.test.webservice/samples">portTypeNS:Organization</wsdl-port-type> | <wsdl-binding xmlns:bindingNS="http://org.jboss.test.webservice/samples">bindingNS:OrganizationBinding</wsdl-binding> | <service-endpoint-method-mapping> | <java-method-name>add</java-method-name> | <wsdl-operation>add</wsdl-operation> | <method-param-parts-mapping> | <param-position>0</param-position> | <param-type>org.jboss.test.webservice.samples.AddRequest</param-type> | <wsdl-message-mapping> | <wsdl-message xmlns:wsdlMsgNS="http://org.jboss.test.webservice/samples">wsdlMsgNS:AddRequestMsg</wsdl-message> | <wsdl-message-part-name>result</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.samples.AddResponse</method-return-value> | <wsdl-message xmlns:wsdlMsgNS="http://org.jboss.test.webservice/samples">wsdlMsgNS:AddResponseMsg</wsdl-message> | <wsdl-message-part-name>parameters</wsdl-message-part-name> | </wsdl-return-value-mapping> | </service-endpoint-method-mapping> | </service-endpoint-interface-mapping> | </java-wsdl-mapping> | | wscompile: | <exec executable="wscompile.bat"> | <arg line="-f:documentliteral"/> | <arg line="-f:wsi"/> | <arg line="-s '${src}/java'"/> | <arg line="-keep"/> | <arg line="-import"/> | <arg line="-mapping '${src}/resources/WEB-INF/jaxrpc-mapping.xml'"/> | <arg line="'${src}/resources/wscompile-config.xml'"/> | </exec> | The client is a servlet that accesses the service as so: | String urlstr = "http://dhomick-pc1:8080/simple-service/Organization?wsdl"; | | URL url = new URL(urlstr); | | QName qname = new QName("http://org.jboss.test.webservice/samples", | "OrganizationService"); | | System.out.println("here0"); | ServiceFactory factory = ServiceFactory.newInstance(); | Service service = factory.createService(url, qname); | | System.out.println("here1"); | Organization organization = (Organization) service.getPort(Organization.class); | System.out.println("here2"); | for (int i = 0; i < 1; i++) | { | AddRequest request = new AddRequest(); | request.setRequest(new AddRequestPayload(1, 2)); | request.setRequestInfo(new OperationRequest()); | | AddResponse response = organization.add(request); | | System.out.println("Response: " + response.getResponse().getResult()); | } | | Anyone know what I am missing? View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3898051#3898051 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3898051 ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ JBoss-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-user
