I wrote a wsdl-document describing a service,
which uses schemas to describe
custom data types.
I generated the stub, ... with the
wsdl2java-tool. Then I implemented and deployed
the service.
The Client uses the WSLocator-Class. With
tcpmon I can see, that the requests and
responses are working fine, but the client
throws an exception. It says, it can't find
a deserializer for the collection-type. Do I
have to specify additional parameters for
the client to work correctly ? The service
itself seems to have no problem with the
custom type.
Any ideas ? The exception and the client code
can be seen below.
Regards
Dennis Reil
-------------------------------------------------------------------------------------------------------------------------------
org.xml.sax.SAXException: Deserializing
parameter 'collection': could not find deserializer for type http://eVerlageWS.dnsalias.com/schemas/DLM.xsd:collection
at
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:227)
at
org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:831)
at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:199)
at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:589)
at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:224)
at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:248)
at
org.apache.axis.client.Call.invoke(Call.java:1701)
at
org.apache.axis.client.Call.invoke(Call.java:1608)
at
org.apache.axis.client.Call.invoke(Call.java:1169)
at
RechercheDienst.RechercheDienstBindingStub.searchByXPathQuery(RechercheDienstBindingStub.java:197)
at
RechercheDienst.Test.main(Test.java:29)
------------------------------------------------------------
Client-Code:
package RechercheDienst;
import
com.dnsalias.eVerlageWS.Searchrequest;
import
eVerlage.ws.dlm.Collection;
public class Test {
public static void main(String[] args)
{
try{
RechercheDienstWS service = new
RechercheDienstWSLocator();
RechercheDienstInterface port =
service.getRechercheDienstPort();
port.searchByXPathQuery("Test","Test");
}
catch
(Exception
e){
System.out.println("DEBUG:
Fehler");
e.printStackTrace(System.err);
}
}
------------------------------------------------------------------------