Hi
I deployed a sample ejb webservice using Axis and i am using WSIF to invoke the webservice.
My webservice is going to return a complex java object(A value object).
The service was invoked successfully and the problem is with Deserializing the object ejb returned.
Its throwing error while Deserializing the object
 
My Deploy.wsdd
============
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
   xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
 <service name="SampleWSIFWebService" provider="java:EJB">
  <parameter name="className" value="com.company.wsif.ejb.SampleWebServiceBean"/>
  <parameter name="allowedMethods" value="isValidUser"/>
  <parameter name="jndiURL" value="jnp://localhost:1099"/>
  <parameter name="beanJndiName" value="SampleWebServiceBean" />
  <parameter name="homeInterfaceName" value="com.company.wsif.ejb.SampleWebServiceHome" />
  <parameter name="remoteInterfaceName" value="com.company.wsif.ejb.SampleWebService" />
  <parameter name="jndiContextClass" value="org.jnp.interfaces.NamingContextFactory"/>
 
  <typeMapping
   xmlns:ns="urn:SampleWSIFWebService"
   qname="ns:SampleWSIFWebService"
   type="java:com.company.wsif.ejb.EmployeeDTO"
   serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
   deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  />
 </service>
</deployment>
 
the error i am getting
===============
org.xml.sax.SAXException: Deserializing parameter 'isValidUserReturn':  could not find deserializer for type {urn:SampleWSIFWebService}com.virt
        at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:269)
        at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1001)
        at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:159)
        at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1050)
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:196)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:310)
        at org.apache.axis.client.Call.invoke(Call.java:2381)
        at org.apache.axis.client.Call.invoke(Call.java:2280)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeAXISRPCStyle(Unknown Source)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(Unknown Source)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(Unknown Source)
        at org.apache.wsif.base.WSIFClientProxy.invoke(Unknown Source)
        at $Proxy0.isValidUser(Unknown Source)
        at com.company.wsif.SampleWebServiceWSIFClient.main(SampleWebServiceWSIFClient.java:63)
Error while executing sample, received an exception due to remote invocation; details:
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: org.xml.sax.SAXException: Deserializing parameter 'isValidUserReturn':  could not find deserializer for type {urn:SampleWSIFWebSe
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Deserializing parameter 'isValidUserReturn':  could not find deserial
ejb.EmployeeDTO
        at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:269)
        at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1001)
        at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:159)
        at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1050)
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:196)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:310)
        at org.apache.axis.client.Call.invoke(Call.java:2381)
        at org.apache.axis.client.Call.invoke(Call.java:2280)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeAXISRPCStyle(Unknown Source)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(Unknown Source)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(Unknown Source)
        at org.apache.wsif.base.WSIFClientProxy.invoke(Unknown Source)
        at $Proxy0.isValidUser(Unknown Source)
        at com.company.wsif.SampleWebServiceWSIFClient.main(SampleWebServiceWSIFClient.java:63)

org.xml.sax.SAXException: Deserializing parameter 'isValidUserReturn':  could not find deserializer for type {urn:SampleWSIFWebService}com.virt
        at org.apache.axis.AxisFault.makeFault(AxisFault.java:98)
        at org.apache.axis.client.Call.invoke(Call.java:2384)
        at org.apache.axis.client.Call.invoke(Call.java:2280)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeAXISRPCStyle(Unknown Source)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(Unknown Source)
        at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(Unknown Source)
        at org.apache.wsif.base.WSIFClientProxy.invoke(Unknown Source)
        at $Proxy0.isValidUser(Unknown Source)
        at com.company.wsif.SampleWebServiceWSIFClient.main(SampleWebServiceWSIFClient.java:63)
Caused by: org.xml.sax.SAXException: Deserializing parameter 'isValidUserReturn':  could not find deserializer for type {urn:SampleWSIFWebServi
        at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:269)
        at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1001)
        at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:159)
        at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1050)
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:196)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:310)
        at org.apache.axis.client.Call.invoke(Call.java:2381)
        ... 7 more
 

Yahoo! India Matrimony: Find your life partner online.

Reply via email to