0 Replies Latest reply on Aug 22, 2002 3:25 AM by Archana Padhye

    JBoss-Jetty 3.0.0 : Problem with dynamic webservice  client

    Archana Padhye Newbie

      I'm using JBoss 3.0.0 with Jetty. There is a web service running. My webservice is returning a custom (user defined )Java type. In the web-service.xml of the webservice i have registered the class as follows :

      <beanMapping
      qname="ns:CLCVCValue"
      xmlns:ns="java:eVisharad.BEMEE.Client.Data"
      languageSpecificType="java:eVisharad.BEMEE.Client.Data.CLCVCValue"
      serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
      deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      />

      I want to call the webservice using a JSP that is residing on the same server. So at the web client side (JSP) I have registered the type using the following code :
      "
      String URL = "http://localhost:8080/axis/services/testHelloWorld";
      org.apache.axis.encoding.TypeMappingRegistry registry = new org.apache.axis.encoding.TypeMappingRegistryImpl();

      org.apache.axis.encoding.TypeMapping mapping = (org.apache.axis.encoding.TypeMapping)registry.getTypeMapping(
      SOAPConstants.URI_NS_SOAP_ENCODING );

      QName Q_CLCVCValue = new QName(URL +
      "/WSDL/eVisharad.BEMEE.Client.Data.CLCVCValue",
      "CLCVCValue" );
      mapping.register( eVisharad.BEMEE.Client.Data.CLCVCValue.class,
      Q_CLCVCValue ,
      new org.apache.axis.encoding.ser.BeanSerializerFactory(eVisharad.BEMEE.Client.Data.CLCVCValue.class, Q_CLCVCValue ),
      new org.apache.axis.encoding.ser.BeanDeserializerFactory(eVisharad.BEMEE.Client.Data.CLCVCValue.class, Q_CLCVCValue ));

      service.setTypeMappingRegistry(registry);

      - some code goes here -
      call.setReturnType(new QName("java:eVisharad.BEMEE.Client.Data.CLCVCValue"));
      CLCVCValue val = (CLCVCValue) call.invoke( new Object[] {} );
      "

      Invocation of the JSP threw exception :

      111:50:30,899 ERROR [Call] Exception:
      org.xml.sax.SAXException: Deserializing parameter 'getCVCValueResult': could no
      t find deserializer for type java:eVisharad.BEMEE.Client.Data:CLCVCValue
      at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:190)
      at org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
      rializationContextImpl.java:821)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
      va:197)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
      t.java:578)
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207)
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:231)
      at org.apache.axis.client.Call.invoke(Call.java:1605)
      at org.apache.axis.client.Call.invoke(Call.java:1513)
      at org.apache.axis.client.Call.invoke(Call.java:1093)
      at org.apache.jsp.dynamicClient$jsp._jspService(dynamicClient$jsp.java:1
      82)

      Can anybody guide in this matter?

      Thanks,
      -Archana Padhye