JBoss-Jetty 3.0.0 : Problem with dynamic webservice client
archanapadhye Aug 22, 2002 3:25 AMI'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