Sker underlige ting når vi henter response message ud via MessageContext.getResponseMessage(); alle vores return statements bliver ignoreret og den returnerede XML ser altid således ud:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body/>
</soapenv:Envelope>
Vores kode ser således ud:
String standardRoot = "d:/test";
public String getFile(String path)
{
File file = new File(standardRoot + path);
if (file.exists())
try
{
MessageContext mc = MessageContext.getCurrentContext();
Message response = mc.getResponseMessage();
ByteArrayDataSource b = new ByteArrayDataSource(file, null);
// javax.xml.soap.AttachmentPart giver samme "tomme" svar.
org.apache.axis.attachments.AttachmentPart part =
new org.apache.axis.attachments.AttachmentPart(new DataHandler(b));
response.addAttachmentPart(part);
response.saveChanges();
//mc.setResponseMessage(response);
return "test output: " + part.getSize() + " + " + response.countAttachments(); // <-- bliver aldrig udskrevet når denne linie er med: Message response = mc.getResponseMessage();
} //end try
return "fejl"; // <-- bliver aldrig udskrevet når denne linie er med: Message response = mc.getResponseMessage();
} //end getFile