1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.ws.soap.addressing.version;
18
19 import java.net.URI;
20 import javax.xml.namespace.QName;
21
22 import org.springframework.util.Assert;
23 import org.springframework.ws.soap.SoapMessage;
24 import org.springframework.ws.soap.addressing.core.EndpointReference;
25 import org.springframework.ws.soap.addressing.core.MessageAddressingProperties;
26 import org.springframework.xml.namespace.QNameUtils;
27
28
29
30
31
32
33
34
35
36
37 public class Addressing10 extends AbstractAddressingVersion {
38
39 private static final String NAMESPACE_URI = "http://www.w3.org/2005/08/addressing";
40
41 public void addAddressingHeaders(SoapMessage message, MessageAddressingProperties map) {
42 Assert.notNull(map.getAction(), "'Action' is required");
43 super.addAddressingHeaders(message, map);
44 }
45
46 protected String getNamespaceUri() {
47 return NAMESPACE_URI;
48 }
49
50 protected QName getReferencePropertiesName() {
51 return null;
52 }
53
54 protected EndpointReference getDefaultReplyTo(EndpointReference from) {
55 return new EndpointReference(getAnonymous());
56 }
57
58 protected final URI getAnonymous() {
59 return URI.create(NAMESPACE_URI + "/anonymous");
60 }
61
62 protected final URI getNone() {
63 return URI.create(NAMESPACE_URI + "/none");
64 }
65
66 protected final QName getMessageAddressingHeaderRequiredFaultSubcode() {
67 return QNameUtils.createQName(NAMESPACE_URI, "MessageAddressingHeaderRequired", getNamespacePrefix());
68 }
69
70 protected final String getMessageAddressingHeaderRequiredFaultReason() {
71 return "A required header representing a Message Addressing Property is not present";
72 }
73
74 protected QName getInvalidAddressingHeaderFaultSubcode() {
75 return QNameUtils.createQName(NAMESPACE_URI, "InvalidAddressingHeader", getNamespacePrefix());
76 }
77
78 protected String getInvalidAddressingHeaderFaultReason() {
79 return "A header representing a Message Addressing Property is not valid and the message cannot be processed";
80 }
81
82 public String toString() {
83 return "WS-Addressing 1.0";
84 }
85 }