Soap with Attachments - Verständnisfrage

_rig_

Grünschnabel
Hallo zusammen,

ich stehe zur Zeit vor folgendem Problem: Ich will mir per Axis-WS eine Datei vom Server auf den Client laden. Jetzt hab ich nach langer langer Suche 2 Lösungsansätze gefunden:

erster Ansatz:
Java:
public boolean download (String name) throws IOException, SOAPException {
   String fileName = uploadDir + name;

   MessageContext msgContext = MessageContext.getCurrentContext();
   Message resMsg = msgContext.getResponseMessage();
   resMsg.getAttachmentsImpl().setSendType(AttachmentsImpl.SEND_TYPE_DIME);

   //Get the file from the filesystem
   FileDataSource fileDS = new FileDataSource(fileName);
   DataHandler handler = new DataHandler(fileDS);

   //Create the attachment as a DIME attachment
   AttachmentPart attachment = resMsg.createAttachmentPart();
   attachment.setDataHandler(handler);

   //Mime-Type
   attachment.setContentType("image/gif");

   resMsg.addAttachmentPart(attachment);
   resMsg.saveChanges();

   return true;
}

zweiter Ansatz
Java:
public Object dwnload (String name) {
   String fileName = uploadDir + name;

   MessageContext msgContext = MessageContext.getCurrentContext();
   Message rspmsg = msgContext.getResponseMessage();
   rspmsg.getAttachmentsImpl().setSendType(Attachments.SEND_TYPE_DIME);

   //Get the file from the filesystem
   FileDataSource fileDS = new FileDataSource(fileName);
   DataHandler handler   = new DataHandler(fileDS);

   return handler;
}

Am ersten Ansatz stört mich das der Client in meinen Augen nirgendwo sieht, das der Service auch ein Attachment mit dabei hat. In der WSDL stehen ja nur die Parameter und der Returnwert. In diesem Fall ist das wie oben zu sehen "String" und "boolean". Aber das im Datenstrom auch noch ein Attachment vorhanden ist, ist meines erachtens nicht ersichtlich.
Beim 2. Ansatz frage ich mich, wie man hier dem MIME-Typ festlegt. Oder ist dieser egal?

Für ein wenig "Aufklärung" und ggf. Hinweise darauf, welcher der beiden Ansätze zu wählen wäre, wäre ich dankbar.

Gruß
Rig
 
Zurück