Re: SOAP message with Attachment
"Scott Nichol" <[email protected]> Sun, 2 Oct 2005 12:10:31 -0400
| Newsgroups | gmane.text.xml.soap.user |
|---|---|
| Message-ID | <00d801c5c76b$d0d3d9a0$6601a8c0@northgate> |
Please post Axis questions to [email protected]. Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. ----- Original Message ----- From: "Gabsaga Tata" <[email protected]> To: <[email protected]> Sent: Wednesday, September 28, 2005 1:44 PM Subject: SOAP message with Attachment > I am using Apache Axis 1.2 / Tomcat 4 > Is it possible for a client application to get back data as MIME attachment from a web service? > From the example code snippets below, the service successfully attaches a file to a SOAP message > but when the client application tries to get the attachments count, it is zero. Any ideas why? > > Thanks. > > Gabsaga > > > ******************************************************** > Code snippet for MyMessageService message-style service. > ******************************************************** > MessageContext msgCntxt = MessageContext.getCurrentContext(); > SOAPMessage msg = msgCntxt.getMessage(); > DataHandler dataHander = new DataHandler(new FileDataSource("C:\\<tomcat_directory>\\webapps\\axis\\WEB-INF\\attachments\\res_message.xml")); > AttachmentPart attachment = msg.createAttachmentPart(dataHander); > attachment.setContentId("attached_processed_file"); > msg.addAttachmentPart(attachment); > > ******************************************************** > Code snippet for Client application sending request to > MyMessageService message-style service. > ******************************************************** > SOAPConnection conn = SOAPConnectionFactory.newInstance().createConnection(); > SOAPMessage response = conn.call(message, "http://localhost/axis/services/MyMessageService"); > > > SOAPPart responseSp = response.getSOAPPart(); > SOAPEnvelope responseSe = responseSp.getEnvelope(); > SOAPBody responseBody = responseSe.getBody(); > > //Get attached message > if(!responseBody.hasFault()) > { > int numOfAttachments = response.countAttachments(); > System.out.println("\n\nNumber of attachments in message = " + numOfAttachments); > } > > >