Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

No deserializer error

 
Sridhar Sreenivasan
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a webservice (implemented in Java, using Axis and Tomcat) FinService that returns a FinCall object when invoked.
The FinCall object has a one dimensional array of double and an array list as paramter. It is a bean class. When returning the ArrayList and setting the ArrayList attribute I pass the parameter as object and return it as object.The ArrayList contains the FinErr objects.
The deploy.wsdd had the typeMapping for the FinCall and the array of double.
Following is what I added to the deploy.wsdd file.
<typeMapping
xmlns:ns="urn:finservice"
qname="ns:FinErr"
type="java:finserv.FinErr"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
And I deployed the service and invoked it with a java client I got the error that No deserializer for {urn:finservice}FinErr.Can you please tell me what am missing here to make it work?
Thanks
Sridhar Sreenivasan.
 
Peer Reynders
Bartender
Posts: 2968
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry for going with the obvious, but you didn't mention it: have you made sure that the axis.jar containing org.apache.axis.encoding.ser.BeanDeserializerFactory is in the client's class path?
That class is neither part of the JAX-RPC runtime nor part of the client interface.

If you don't want your client to be dependent on Axis (as some non-Java clients won't have access that library) consider using the Wrapped or Document service mode instead (Service Styles - RPC, Document, Wrapped, and Message). The Wrapped mode seems to be closer to WSDL's rpc/literal messaging mode - axis RPC implies rpc/encoded. However an ArrayList can't be passed with either the Wrapped or Document service mode - it will have to be an array of a JAX-RPC supported type.
 
Sridhar Sreenivasan
Greenhorn
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
Thanks for the response.Am new to web services so there were things explained in the later part that I have to learn before attempting to implement it.But to clarify on your question on the classpath, yes I do have the classpath pointing to axis.jar. It had worked for an earlier web service similar to the one I had mailed about,except that the FinCall class has only the one dimensional array of double and no ArrayList.
Sridhar Sreenivasan.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic