Thank you Dennis for your reply.
 
I have a question. Please take a look at my stub class (ClsXMLAProxSoapBindingStub.java). Service is instantiated in the constructor and registerTypeMapping is done in the after the createCall() in another function (ClsXMLAProxSoapBindingStub::createCall) which is called from discover().
 
The exception I'm getting only for the return type. For input parameters (which are similar classes) there is no probem.
----- Original Message -----
Sent: Saturday, May 11, 2002 9:46 AM
Subject: Re: can't find deserializer problem

Finally I found a way to get it work. You have to take the service-object and
create a call. Then just create a mapping for the custom data type. Then do the
method-calls as normal. I inserted the following lines after the instantiation of the
service-object:
----------------------------------------------------
Call call = (Call) service.createCall();
            QName collectionqn = new QName(DLM_NS,"collection");
            call.registerTypeMapping(Collection.class, collectionqn, new BeanSerializerFactory(Collection.class, collectionqn),
                new BeanDeserializerFactory(Collection.class,collectionqn));
-----------------------------------------------------
 
Regards
    Dennis Reil
 
----- Original Message -----
Sent: Saturday, May 11, 2002 6:05 PM
Subject: Re: can't find deserializer problem

Could you resolve this problem?  I'm getting the similar exception when I run my cilent code.
----- Original Message -----
Sent: Friday, May 10, 2002 8:35 AM
Subject: Re: can't find deserializer problem

Ok, I'll attach the wsdl, I used to create the proxy classes.
----- Original Message -----
Sent: Friday, May 10, 2002 3:33 PM
Subject: RE: can't find deserializer problem

Could you send along the WSDL?
-----Original Message-----
From: Dennis Reil [mailto:[EMAIL PROTECTED]]
Sent: Friday, May 10, 2002 5:57 AM
To: AXIS-User-List
Subject: can't find deserializer problem

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);
          }
}
------------------------------------------------------------------------
before invoke
- Exception:
org.xml.sax.SAXException: Bad types (class java.lang.String -> class 
org.tempuri.ClsXMLAProxDiscoverResult)
        at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:205)
        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 
org.tempuri.ClsXMLAProxSoapBindingStub.discover(ClsXMLAProxSoapBindingStub.java:167)
        at org.tempuri.Abcd.main(Abcd.java:18)
org.xml.sax.SAXException: Bad types (class java.lang.String -> class 
org.tempuri.ClsXMLAProxDiscoverResult)
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:116)
        at org.apache.axis.client.Call.invoke(Call.java:1704)
        at org.apache.axis.client.Call.invoke(Call.java:1608)
        at org.apache.axis.client.Call.invoke(Call.java:1169)
        at 
org.tempuri.ClsXMLAProxSoapBindingStub.discover(ClsXMLAProxSoapBindingStub.java:167)
        at org.tempuri.Abcd.main(Abcd.java:18)
Caused by: org.xml.sax.SAXException: Bad types (class java.lang.String -> class 
org.tempuri.ClsXMLAProxDiscoverResult)
        at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:205)
        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)
        ... 4 more
Exception in thread "main" 

Attachment: ClsXMLAProxSoapBindingStub.java
Description: Binary data

Reply via email to