Detelin, Good observation... I was lost in this question :).. ndthuy, Try inserting the following line before the call to ....cleanup(_messageContext) in the stub... _messageContext.getEnvelope().buildWithAttachments();
thanks, Thilina On Wed, Apr 2, 2008 at 10:04 AM, ndthuy <[EMAIL PROTECTED]> wrote: > > I were trying the same method call when I tried to download the file then I > received the exception. I was able to see the attachment but I couldn't > retrieve it. > > Thanks. > > > > ndthuy wrote: > > > > Hi Thilina, > > > > After taking a look at those articles, I am able to upload the file > > without any problem. But when I download the file, I received this error: > > > > Exception in thread "main" org.apache.axiom.om.OMException: > > javax.mail.MessagingException: Error in input stream; > > nested exception is: > > java.io.IOException: Attempted read on closed stream. > > at > org.apache.axiom.attachments.Attachments.getPart(Attachments.java:602) > > at > > > org.apache.axiom.attachments.Attachments.getNextPartDataHandler(Attachments.java:462) > > at > > > org.apache.axiom.attachments.Attachments.getDataHandler(Attachments.java:278) > > at > > > org.apache.axis2.context.MessageContext.getAttachment(MessageContext.java:1623) > > at > > > com.cvg.ap.service.publicservices.impl.APContentManagementServicesStub.fetchContentFile(APContentManagementServicesStub.java:810) > > at > > > com.cvg.ap.service.publicservices.impl.APContentManagementServicesImpl.fetchContentFile(APContentManagementServicesImpl.java:256) > > at > > > com.cvg.ap.service.publicservices.impl.APContentManagementServicesImpl.main(APContentManagementServicesImpl.java:463) > > Caused by: javax.mail.MessagingException: Error in input stream; > > nested exception is: > > java.io.IOException: Attempted read on closed stream. > > at javax.mail.internet.InternetHeaders.load(InternetHeaders.java:142) > > at > javax.mail.internet.InternetHeaders.<init>(InternetHeaders.java:93) > > at javax.mail.internet.MimeBodyPart.<init>(MimeBodyPart.java:124) > > at > org.apache.axiom.attachments.PartOnMemory.<init>(PartOnMemory.java:34) > > at > org.apache.axiom.attachments.Attachments.getPart(Attachments.java:598) > > ... 6 more > > > > > > This is the soap message when I upload and download: > > > > > </soapenv:Envelope>--MIMEBoundaryurn_uuid_1ADD9EC725995A3FD11206998815387Content-Type: > > application/octet-streamContent-Transfer-Encoding: binaryContent-ID: > > <urn:uuid:1ADD9EC725995A3FD11206998814743>/* Pogue.cs - Custom > > Rogue class3a--MIMEBoundaryurn_uuid_1ADD9EC725995A3FD11206998815387--0 > > > > This is soap message when I download: > > > > --MIMEBoundaryurn_uuid_5042108D598DCCE8AE1206999131913 > > 7e8 > > > > Content-Type: application/octet-stream > > Content-Transfer-Encoding: binary > > Content-ID: > > <urn:uuid:5042108D598DCCE8AE1206999117974>/* Pogue.cs - Custom > > Rogue class > > 38 > > > > --MIMEBoundaryurn_uuid_5042108D598DCCE8AE1206999131913 > > 2 > > -- > > 0 > > > > Do you think it is because the way it prepares the SOAP message on server > > side ? Thanks for your help. > > > > > > Thanks. > > > > > > > > > > Thilina Gunarathne wrote: > >> > >> Hi, > >> I would have a WSDL with a string return field (or a complex type > >> containing a string element) and would assign the content-id to that > >> string. > >> > >> You can have a look at the following articles to figure out how to add > >> the attachment in the service implementation class.. > >> http://wso2.org/library/1675 > >> http://wso2.org/library/1148 > >> > >> String contentId = messageContext.addAttachment(dataHandler); > >> > >> thanks, > >> Thilina > >> > >> > >> On Mon, Mar 31, 2008 at 11:14 AM, ndthuy <[EMAIL PROTECTED]> wrote: > >>> > >>> Thanks Thilina, > >>> > >>> I was able to modify according to your suggestion to upload the file > >>> using > >>> ADB with SwA. > >>> > >>> But for the dowload using ADB with SwA, how do we modify the SOAP > >>> message to > >>> attach the binary data ? > >>> Do we have to modify in invokeBusinessLogic(...) function ? > >>> > >>> Thanks. > >>> > >>> > >>> > >>> Thilina Gunarathne wrote: > >>> > > >>> > Hi, > >>> > You cannot generate WSDL with the knowledge of SwA in them.. AFAIK > >>> > there isn't a standard way to mention SwA attachments in WSDL.. ADB > >>> > does not support SwA directly.. > >>> > > >>> > What you can do in the server side is to have your method signature > >>> > take in an String which will be the content-id of the attachment, > >>> then > >>> > retrieve your attachment from the messageContext manually using it... > >>> > Have a look at [1] & [2].. > >>> > > >>> > Your following method will result in an MTOM WSDL, where dataHandler > >>> > will get bound to an base64Binary element. > >>> > > >>> >> addContentFile(String userID, String password, > >>> >> String serviceID, DataHandler dataHandler, > >>> >> String relAddFilepathName, String > >>> contentType, > >>> >> String source) > >>> > > >>> > thanks, > >>> > Thilina > >>> > > >>> > [1] Using SOAP with Attachments in Apache Axis2 - > >>> > http://wso2.org/library/1148 > >>> > [2] Downloading a Binary File from a Web Service using Axis2 and SOAP > >>> > with Attachments - http://wso2.org/library/1675 > >>> > > >>> >> > >>> >> How do I write a wsdl for it so I can generate the client and > >>> server > >>> >> using > >>> >> ADB. > >>> >> > >>> >> > >>> >> > >>> >> Thanks > >>> >> -- > >>> >> View this message in context: > >>> >> > >>> > http://www.nabble.com/Using-SWA-with-ADB-in-axis2-tp16335414p16335414.html > >>> >> Sent from the Axis - User mailing list archive at Nabble.com. > >>> >> > >>> >> > >>> >> > >>> --------------------------------------------------------------------- > >>> >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> >> For additional commands, e-mail: [EMAIL PROTECTED] > >>> >> > >>> >> > >>> > > >>> > > >>> > > >>> > -- > >>> > Thilina Gunarathne - http://thilinag.blogspot.com > >>> > > >>> > --------------------------------------------------------------------- > >>> > To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> > For additional commands, e-mail: [EMAIL PROTECTED] > >>> > > >>> > > >>> > > >>> > >>> -- > >>> View this message in context: > >>> > http://www.nabble.com/Using-SWA-with-ADB-in-axis2-tp16335414p16396897.html > >>> > >>> > >>> Sent from the Axis - User mailing list archive at Nabble.com. > >>> > >>> > >>> --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >> > >> > >> > >> -- > >> Thilina Gunarathne - http://thilinag.blogspot.com > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > >> > > > > > > -- > View this message in context: > http://www.nabble.com/Using-SWA-with-ADB-in-axis2-tp16335414p16447064.html > > > Sent from the Axis - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Thilina Gunarathne - http://thilinag.blogspot.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]