1 package org.codehaus.xfire.exchange; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 import org.codehaus.xfire.attachments.Attachments; 7 import org.codehaus.xfire.soap.Soap11; 8 import org.codehaus.xfire.soap.SoapVersion; 9 import org.codehaus.xfire.soap.SoapVersionFactory; 10 import org.codehaus.xfire.transport.Channel; 11 import org.codehaus.yom.Element; 12 13 public abstract class AbstractMessage 14 { 15 public static final String ANONYMOUS_URI = "urn:codehaus:xfire:anonymous"; 16 17 private Element header; 18 private String uri; 19 private String encoding = "UTF-8"; 20 private String action; 21 private Object body; 22 private Attachments attachments; 23 private SoapVersion soapVersion = Soap11.getInstance(); 24 private Channel channel; 25 private Map properties = new HashMap(); 26 27 public Object getBody() 28 { 29 return body; 30 } 31 32 public void setBody(Object body) 33 { 34 this.body = body; 35 } 36 37 public Channel getChannel() 38 { 39 return channel; 40 } 41 42 public void setChannel(Channel channel) 43 { 44 this.channel = channel; 45 } 46 47 public SoapVersion getSoapVersion() 48 { 49 return soapVersion; 50 } 51 52 public void setSoapVersion(String soapVersion) 53 { 54 this.soapVersion = SoapVersionFactory.getInstance().getSoapVersion(soapVersion); 55 } 56 57 public void setSoapVersion(SoapVersion soapVersion) 58 { 59 this.soapVersion = soapVersion; 60 } 61 62 public String getEncoding() 63 { 64 return encoding; 65 } 66 67 public void setEncoding(String encoding) 68 { 69 this.encoding = encoding; 70 } 71 72 public String getAction() 73 { 74 return action; 75 } 76 77 public void setAction(String action) 78 { 79 this.action = action; 80 } 81 82 public boolean hasHeader() 83 { 84 return header != null; 85 } 86 87 public Element getHeader() 88 { 89 if (header == null) 90 { 91 header = new Element(getSoapVersion().getPrefix() + ":Header", getSoapVersion().getNamespace()); 92 } 93 return header; 94 } 95 96 public void setHeader(Element header) 97 { 98 this.header = header; 99 } 100 101 public String getUri() 102 { 103 return uri; 104 } 105 106 public void setUri(String uri) 107 { 108 this.uri = uri; 109 } 110 111 public Attachments getAttachments() 112 { 113 return attachments; 114 } 115 116 public void setAttachments(Attachments attachments) 117 { 118 this.attachments = attachments; 119 } 120 121 public Object getProperty(Object key) 122 { 123 return properties.get(key); 124 } 125 126 public void setProperty(Object key, Object value) 127 { 128 properties.put(key, value); 129 } 130 131 public String toString() 132 { 133 return super.toString() + "[uri=\"" + getUri() + "\"]"; 134 } 135 }