Hi all, hi Dhanush,
Thank you Dhanush for
you reply.
After a few days of
testing to send a attachment with DIME from AXIS-Service to
gsoap-client,
we are really down. SO I
hope someone can give us a hint.
First of all, we send
from the Service:
Message rspmsg =
AxisEngine.getCurrentMessageContext().getResponseMessage();
rspmsg.setMessageType(org.apache.axis.Message.MIME_APPLICATION_DIME);
DataHandler dh = new DataHandler(new
FileDataSource(fileName));
AttachmentPart ap = new
AttachmentPart(dh);
MessageContext
context=MessageContext.getCurrentContext();
Message responseMessage =
context.getResponseMessage();
responseMessage.getAttachmentsImpl().addAttachmentPart(ap);
The difference
is, that gsoap only know the pratice of sending the attachments by a
Data-typ!?
If you look
at a gsoap SOAP-Trace, when sending a attachment, there is a href:cid:... as
attribute in the response-Element
of the
SOAP-Body, referencing the
attachment.
This is the
same prytice as sending a Datahandler in AXIS.
Can someone
please tell me if it is possible to send a attachment from AXIS to
gsoap?????????
--> A
YES or NO would be enough
Can someone
pls tell me whats the right way of making this
working?????????
Short hints
would be wonderfull - please!!! :)
It is very
interesting for us, if someone before make this
working????
Thanks for
help
Tomi
Hi Thomas,
You can use any of the form u want. But
I dont know how your gsoap client will handle it. It is better if you use the
first way (Using Attachment Parts), where the attachment doesnt have a
reference in the SOAP Body. Here the one good thing u never need to modify ur
WSDL.
When u use the Datahandler way( In line
form), the experts say that there can be a problem when u send huge files as
attachemnts. Also u need to have the return parameters described in the WSDL.
Of course u can set the filename in the Datahandler itself.
But I dont think setting the filename
is a problem in the AttachmentParts way . You can set this in the SOAP Header
of the SOAPMessage using some handlers.
Please refer the following mail
archives
Cheers
Dhanush Gopinath Software
Engineer Mahindra British Telecom Ltd +91-020-4018100
Ext:-1218
"It's the possibility of having a dream come true , that makes life
interesting" - Paulo Coelho, The Alchemist
----- Original Message -----
Sent: Tuesday, August 10, 2004 8:36
PM
Subject: SOAP with Attachments ?
Hello all,
I like to send an
attachment from my Service to the client. So there are several possible
ways to go:
The first ist to place a attachment in the
responseMessage:
String fileName =
"C:\\WebService\\webapps\\PDMWebConnector\\arrow.gif";
//explicitly
set format to DIME, default is MIME Message rspmsg =
AxisEngine.getCurrentMessageContext().getResponseMessage(); rspmsg.getAttachmentsImpl().setSendType(org.apache.axis.attachments.Attachme nts.SEND_TYPE_DIME);
DataHandler
dh = new DataHandler(new FileDataSource(fileName)); if (dh == null )
System.err.println("dhSource is null"); AttachmentPart ap = new
AttachmentPart(dh);
rspmsg.addAttachmentPart(ap);
The
other way is to send back the datahandler itself
public
Datahandler download(java.lang.String request)
throws java.rmi.RemoteException { ...
The difference is in
the SOAP-Message. If I send a Datahandler back, I got a SOAP-Message with
a href in my SOAP-Body, referencing the Attachment behind my
SOAP-Message.
In the other way, when I send back the added
AttchmentPart, I got no reference in my SOAP-Body.
Whats the
right way to go??? Is there a solution to place Filename or addional
information when I send a Datahandler?
Please help me!
I
wanna send Data from a Java-Service to a gsoap Client!!!
Thanks
Tomi
********************************************************* Disclaimer:
This message (including any attachments) contains
confidential information intended for a specific individual and
purpose, and is protected by law. If you are not the intended
recipient, you should delete this message and are hereby notified
that any disclosure, copying, or distribution of this message, or
the taking of any action based on it, is strictly
prohibited.
********************************************************* Visit
us at
http://www.mahindrabt.com
|
|