You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Azmi <az...@bii.a-star.edu.sg> on 2004/07/01 08:03:27 UTC

Help with Datahandlers

Hi,
I would appreciate if anyone could help me on this.

I wrote a web service and the corresponding client API that has file 
transfers
based on the attachments example in Axis 1.1, that is I'm using the 
DataHandler
class.
In my client API, the typemapping is at follows:

call.registerTypeMapping(
            dhSource.getClass(),
            qnameAttachment,
            JAFDataHandlerSerializerFactory.class,
            JAFDataHandlerDeserializerFactory.class);

Same as in the example...

The problem is, my collegue uses another API that is using Axis 1.2 Alpha.
He replaced only the axis 1.1 jar with the newer 1.2 alpha jar.
This caused the web service to fail.

The exception thrown is :
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: org.xml.sax.SAXException: Deserializing parameter 
'source':  could not find deserializer for type {GridX3}DataHandler
 faultActor:
 faultNode:
 faultDetail:
    {http://xml.apache.org/axis/}stackTrace:AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: org.xml.sax.SAXException: Deserializing parameter 
'source':  could not find deserializer for type {GridX3}DataHandler
 faultActor:
 faultNode:
 faultDetail:

 From the exception, I gather that the problem occurs on the server 
side. Similarly, when I try to
download a file, the same exception occurs, this time on the client side.


Any suggestions?


Thanks in advance,
Azmi


Re: Help with Datahandlers

Posted by Anand Natrajan <an...@cs.virginia.edu>.
Azmi,

I had a similar problem, although on carefully reading it, it looks to be
the reverse case.

When my service and client were both in Axis 1.1, my service sent a
DataHandler, but my client had to use AttachmentPart to get at it.
AttachmentPart is part of the org.apache package structure.

When I upgraded both my service and client to Axis 1.2, my service continued
to send a DataHandler, but now my client had to use a DataHandler to get at
it. In all cases, DataHandler is javax.activation.DataHandler.

While I thought it odd that I had to change my client when upgrading from
1.1 and 1.2, I didn't give it too much thought because in my case at least
the change is in the right direction - both server and client now use the
same class to send/receive the attachment.

It might be worth a try to change your colleague's client to use
AttachmentPart and see if that helps.

Anand

On Thu, 1 Jul 2004, Azmi wrote:

: Hi,
: I would appreciate if anyone could help me on this.
:
: I wrote a web service and the corresponding client API that has file
: transfers
: based on the attachments example in Axis 1.1, that is I'm using the
: DataHandler
: class.
: In my client API, the typemapping is at follows:
:
: call.registerTypeMapping(
:             dhSource.getClass(),
:             qnameAttachment,
:             JAFDataHandlerSerializerFactory.class,
:             JAFDataHandlerDeserializerFactory.class);
:
: Same as in the example...
:
: The problem is, my collegue uses another API that is using Axis 1.2 Alpha.
: He replaced only the axis 1.1 jar with the newer 1.2 alpha jar.
: This caused the web service to fail.
:
: The exception thrown is :
: AxisFault
:  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
:  faultSubcode:
:  faultString: org.xml.sax.SAXException: Deserializing parameter
: 'source':  could not find deserializer for type {GridX3}DataHandler
:  faultActor:
:  faultNode:
:  faultDetail:
:     {http://xml.apache.org/axis/}stackTrace:AxisFault
:  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
:  faultSubcode:
:  faultString: org.xml.sax.SAXException: Deserializing parameter
: 'source':  could not find deserializer for type {GridX3}DataHandler
:  faultActor:
:  faultNode:
:  faultDetail:
:
:  From the exception, I gather that the problem occurs on the server
: side. Similarly, when I try to
: download a file, the same exception occurs, this time on the client side.
:
:
: Any suggestions?
:
:
: Thanks in advance,
: Azmi
:
: