Deserializing parameter error
joselu Dec 15, 2004 6:47 AMHello,
I have a deployed web service but when the client tries to use it, a server deserializing parameter error is shown:
11:47:10,715 ERROR [RPCInvocation] org.xml.sax.SAXException: Deserializing parameter 'sayHello': could not find deserializer for type {urn:Foo}sayHello org.xml.sax.SAXException: Deserializing parameter 'sayHello': could not find deserializer for type {urn:Foo}sayHello at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:329) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1186) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244) at org.apache.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1406) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:262) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:396) (...)
My wsdl file is (the piece involved in the operation sayHello):
<?xml version="1.0" encoding="UTF-8"?> <definitions name="MyHelloService" targetNamespace="http://DefaultNamespace" xmlns:tns="http://DefaultNamespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="urn:Foo" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="urn:Foo" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="urn:Foo" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <complexType name="sayHello"> <sequence> <element name="String_1" nillable="true" type="string"/></sequence></complexType> <complexType name="sayHelloResponse"> <sequence> <element name="result" nillable="true" type="string"/></sequence></complexType> <element name="sayHello" type="tns:sayHello"/> <element name="sayHelloResponse" type="tns:sayHelloResponse"/> </schema> </types> <message name="HelloIF_sayHello"> <part name="parameters" element="ns2:sayHello"/> </message> <message name="HelloIF_sayHelloResponse"> <part name="result" element="ns2:sayHelloResponse"/> </message> <portType name="HelloIF"> <operation name="sayHello"> <input message="tns:HelloIF_sayHello"/> <output message="tns:HelloIF_sayHelloResponse"/> </operation> </portType> <binding name="HelloIFBinding" type="tns:HelloIF"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="sayHello"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="MyHelloService"> <port name="HelloIFPort" binding="tns:HelloIFBinding"> <soap:address location="http://localhost:8080/HelloService/JoseluService"/> </port> </service> </definitions>
I am using document literal encoding (wscompile tool).
The input & output parameters are String type. Why cannot it be deserialized using the default deserializer?
Please, I would also known which (de)serializer could the the most suitable.
Thanks in advance