• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Devaka Cooray
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
  • paul wheaton
  • Jeanne Boyarsky
  • Tim Cooke
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Mikalai Zaikin
  • Carey Brown

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

Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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) {
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

Ranch Hand
Posts: 548
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Luiz Sousa
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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!

Not so fast naughty spawn! I want you to know about
a bit of art, as a gift, that will fit in a stocking
    Bookmark Topic Watch Topic
  • New Topic