1 27 28 package mypackage; 29 30 import javax.xml.soap.*; 31 import java.net.*; 32 import java.util.*; 33 import java.io.*; 34 import javax.activation.*; 35 36 37 38 public class Attachments { 39 public static void main(String [] args) { 40 FileReader fr = null; 41 BufferedReader br = null; 42 String line = ""; 43 44 try { 45 if (args.length != 1) { 47 System.err.println("Usage: asant run " + 48 "-Dtext-file=<filename>"); 49 System.exit(1); 50 } 51 52 MessageFactory messageFactory = MessageFactory.newInstance(); 54 55 57 SOAPMessage message = messageFactory.createMessage(); 58 59 SOAPHeader header = message.getSOAPHeader(); 62 SOAPBody body = message.getSOAPBody(); 63 header.detachNode(); 64 65 AttachmentPart attachment1 = message.createAttachmentPart(); 67 68 fr = new FileReader(new File(args[0])); 69 br = new BufferedReader(fr); 70 71 String stringContent = ""; 72 line = br.readLine(); 73 74 while (line != null) { 75 stringContent = stringContent.concat(line); 76 stringContent = stringContent.concat("\n"); 77 line = br.readLine(); 78 } 79 80 attachment1.setContent(stringContent, "text/plain"); 81 attachment1.setContentId("attached_text"); 82 83 message.addAttachmentPart(attachment1); 84 85 URL url = new URL("file:///../xml-pic.jpg"); 87 DataHandler dataHandler = new DataHandler(url); 88 AttachmentPart attachment2 = 89 message.createAttachmentPart(dataHandler); 90 attachment2.setContentId("attached_image"); 91 92 message.addAttachmentPart(attachment2); 93 94 Iterator iterator = message.getAttachments(); 96 97 while (iterator.hasNext()) { 98 AttachmentPart attached = (AttachmentPart) iterator.next(); 99 String id = attached.getContentId(); 100 String type = attached.getContentType(); 101 System.out.println("Attachment " + id + " has content type " + 102 type); 103 104 if (type.equals("text/plain")) { 105 Object content = attached.getContent(); 106 System.out.println("Attachment " + "contains:\n" + content); 107 } 108 } 109 } catch (FileNotFoundException e) { 110 System.out.println("File not found: " + e.toString()); 111 System.exit(1); 112 } catch (IOException e) { 113 System.out.println("I/O exception: " + e.toString()); 114 System.exit(1); 115 } catch (Exception ex) { 116 ex.printStackTrace(); 117 } 118 } 119 } 120 | Popular Tags |