Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Confused about axis deserializer (it don't work!)

 
Luiz Sousa
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello all! New to the web services world, am using Axis 1.1 and Tomcat 5.0.25 to code a client for various web services (RPC types from www.xmethods.com), I can get the basic types to work fine (primitives, Strings, HashMap, etc), but anything above that causes the following exception stack:

- Exception:
org.xml.sax.SAXException: Deserializing parameter 'soapVal': could not find deserializer for type {urn:CompanyInfo}CompanyInfoResult
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:963)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:722)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347)
at org.apache.axis.client.Call.invoke(Call.java:2272)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeAXISRPCStyle(Lorg.apache.axis.client.Call;Lorg.apache.wsif.WSIFMessage;Lorg.apache.wsif.WSIFMessage;Lorg.apache.wsif.WSIFMessage;Lorg.apache.wsif.util.jms.WSIFJMSDestination Z(Unknown Source)
at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(Lorg.apache.wsif.WSIFMessage;Lorg.apache.wsif.WSIFMessage;Lorg.apache.wsif.WSIFMessage Z(Unknown Source)
at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(Lorg.apache.wsif.WSIFMessage;Lorg.apache.wsif.WSIFMessage;Lorg.apache.wsif.WSIFMessage Z(Unknown Source)
at org.apache.wsif.base.WSIFClientProxy.invoke(Ljava.lang.Object;Ljava.lang.reflect.Method;[Ljava.lang.Object Ljava.lang.Object;(Unknown Source)
at $Proxy3.doCompanyInfo(Ljava.lang.String;Ljava.lang.String;Ljava.lang.String Lcom.emdweb.common.utils.test.companyInfo.CompanyInfoResult;(Unknown Source)

I've been trying to find answers everywhere (including the axis-dev mailing list) but everything is about the web service side and WSDD, which of course I have no access to because I am coding only the client

The web services work via the website, so I didn't think that's the problem. The WSDL is translated using WSDL2Java, and the resulting object ("CompanyInfoResut" in this example) has the following code:

/**
* Get Custom Deserializer
*/
public static org.apache.axis.encoding.Deserializer getDeserializer(
java.lang.String mechType,
java.lang.Class _javaType,
javax.xml.namespace.QName _xmlType) {
return
new org.apache.axis.encoding.ser.BeanDeserializer(
_javaType, _xmlType, typeDesc);
}

Since this is auto-genned by the Axis tool, why can't axis find it? Am I missing something? Is there anything (registering or otherwise) I can do client-side to make Axis "see"/"use" this deserializer?

Really confused as to why I can get the basic WS' to work fine, but others translated from the same tool (WSDL2Java) keep giving me this exception/fault, any thoughts?

Thanks in advance!
And cheers everyone

Luiz
 
Rr Kumaran
Ranch Hand
Posts: 548
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
there can be various reasons like

1.if you use any custom types that cannot be handled by axis then they need to registered in client side's client-config.wsdd

2. is your WSDL adheres to BP 1.0+ which AXIS follows
etc.
 
Luiz Sousa
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oh okay, I was under the impressing that the deployment/wsdd files were for the server/service provider only, none of the articles and tutorials I had looked for mentioned a client-side one thank you! I will look into this promptly!
Very much appreaciated!
cheers

Luiz
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic