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);
}
********************************************************

Reply via email to