axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dennis Reil" <a...@reil-online.de>
Subject Re: can't find deserializer problem
Date Sat, 11 May 2002 16:46:40 GMT
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 ----- 
  From: Jabali Putrevu 
  To: axis-user@xml.apache.org 
  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 ----- 
    From: Dennis Reil 
    To: axis-user@xml.apache.org 
    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 ----- 
      From: Glen Daniels 
      To: 'axis-user@xml.apache.org' 
      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:axis@reil-online.de]
        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);
                  }
        }
        ------------------------------------------------------------------------

Mime
View raw message