1/*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package com.sun.xml.internal.ws.addressing;
27
28import javax.xml.namespace.QName;
29
30import com.sun.xml.internal.ws.api.addressing.AddressingVersion;
31
32/**
33 * Constants for W3C WS-Addressing version
34 *
35 * @author Arun Gupta
36 */
37public interface W3CAddressingConstants {
38    public static final String WSA_NAMESPACE_NAME = "http://www.w3.org/2005/08/addressing";
39    public static final String WSA_NAMESPACE_WSDL_NAME = "http://www.w3.org/2006/05/addressing/wsdl";
40
41    public static final String WSAW_SERVICENAME_NAME = "ServiceName";
42    public static final String WSAW_INTERFACENAME_NAME = "InterfaceName";
43    public static final String WSAW_ENDPOINTNAME_NAME = "EndpointName";
44
45    public static final String WSA_REFERENCEPROPERTIES_NAME = "ReferenceParameters";
46    public static final QName WSA_REFERENCEPROPERTIES_QNAME = new QName(WSA_NAMESPACE_NAME, WSA_REFERENCEPROPERTIES_NAME);
47
48    public static final String WSA_REFERENCEPARAMETERS_NAME = "ReferenceParameters";
49    public static final QName WSA_REFERENCEPARAMETERS_QNAME = new QName(WSA_NAMESPACE_NAME, WSA_REFERENCEPARAMETERS_NAME);
50
51    public static final String WSA_METADATA_NAME = "Metadata";
52    public static final QName WSA_METADATA_QNAME = new QName(WSA_NAMESPACE_NAME, WSA_METADATA_NAME);
53
54    public static final String WSA_ADDRESS_NAME = "Address";
55    public static final QName WSA_ADDRESS_QNAME = new QName(WSA_NAMESPACE_NAME, WSA_ADDRESS_NAME);
56
57    public static final String WSA_ANONYMOUS_ADDRESS = WSA_NAMESPACE_NAME + "/anonymous";
58    public static final String WSA_NONE_ADDRESS = WSA_NAMESPACE_NAME + "/none";
59
60    public static final String WSA_DEFAULT_FAULT_ACTION = WSA_NAMESPACE_NAME + "/fault";
61
62    public static final String WSA_EPR_NAME = "EndpointReference";
63    public static final QName WSA_EPR_QNAME = new QName(WSA_NAMESPACE_NAME, WSA_EPR_NAME);
64
65
66    public static final String WSAW_USING_ADDRESSING_NAME = "UsingAddressing";
67    public static final QName WSAW_USING_ADDRESSING_QNAME = new QName(WSA_NAMESPACE_WSDL_NAME, WSAW_USING_ADDRESSING_NAME);
68
69    public static final QName INVALID_MAP_QNAME = new QName(WSA_NAMESPACE_NAME, "InvalidAddressingHeader");
70    public static final QName MAP_REQUIRED_QNAME = new QName(WSA_NAMESPACE_NAME, "MessageAddressingHeaderRequired");
71    public static final QName DESTINATION_UNREACHABLE_QNAME = new QName(WSA_NAMESPACE_NAME, "DestinationUnreachable");
72    public static final QName ACTION_NOT_SUPPORTED_QNAME = new QName(WSA_NAMESPACE_NAME, "ActionNotSupported");
73    public static final QName ENDPOINT_UNAVAILABLE_QNAME = new QName(WSA_NAMESPACE_NAME, "EndpointUnavailable");
74
75    public static final String ACTION_NOT_SUPPORTED_TEXT = "The \"%s\" cannot be processed at the receiver";
76    public static final String DESTINATION_UNREACHABLE_TEXT = "No route can be determined to reach %s";
77    public static final String ENDPOINT_UNAVAILABLE_TEXT = "The endpoint is unable to process the message at this time";
78    public static final String INVALID_MAP_TEXT = "A header representing a Message Addressing Property is not valid and the message cannot be processed";
79    public static final String MAP_REQUIRED_TEXT = "A required header representing a Message Addressing Property is not present";
80
81    public static final QName PROBLEM_ACTION_QNAME = new QName(WSA_NAMESPACE_NAME, "ProblemAction");
82    public static final QName PROBLEM_HEADER_QNAME_QNAME = new QName(WSA_NAMESPACE_NAME, "ProblemHeaderQName");
83    public static final QName FAULT_DETAIL_QNAME = new QName(WSA_NAMESPACE_NAME, "FaultDetail");
84
85    // Fault subsubcode when an invalid address is specified.
86    public static final QName INVALID_ADDRESS_SUBCODE = new QName(WSA_NAMESPACE_NAME, "InvalidAddress",
87                                                                  AddressingVersion.W3C.getPrefix());
88
89    // Fault subsubcode when an invalid header was expected to be EndpointReference but was not valid.
90    public static final QName INVALID_EPR = new QName(WSA_NAMESPACE_NAME, "InvalidEPR", AddressingVersion.W3C.getPrefix());
91
92    // Fault subsubcode when greater than expected number of the specified header is received.
93    public static final QName INVALID_CARDINALITY = new QName(WSA_NAMESPACE_NAME, "InvalidCardinality",
94                                                              AddressingVersion.W3C.getPrefix());
95
96    // Fault subsubcode when an invalid header was expected to be EndpointReference but did not contain address.
97    public static final QName MISSING_ADDRESS_IN_EPR = new QName(WSA_NAMESPACE_NAME, "MissingAddressInEPR",
98                                                                 AddressingVersion.W3C.getPrefix());
99
100    // Fault subsubcode when a header contains a message id that was a duplicate of one already received.
101    public static final QName DUPLICATE_MESSAGEID = new QName(WSA_NAMESPACE_NAME, "DuplicateMessageID",
102                                                              AddressingVersion.W3C.getPrefix());
103
104    // Fault subsubcode when <code>Action</code> and <code>SOAPAction</code> for the mesage did not match.
105    public static final QName ACTION_MISMATCH = new QName(WSA_NAMESPACE_NAME, "ActionMismatch",
106                                                          AddressingVersion.W3C.getPrefix());
107
108    // Fault subsubcode when the only address supported is the anonymous address.
109    public static final QName ONLY_ANONYMOUS_ADDRESS_SUPPORTED = new QName(WSA_NAMESPACE_NAME, "OnlyAnonymousAddressSupported",
110                                                                           AddressingVersion.W3C.getPrefix());
111
112    //Fault subsubcode when anonymous address is not supported.
113    public static final QName ONLY_NON_ANONYMOUS_ADDRESS_SUPPORTED = new QName(WSA_NAMESPACE_NAME, "OnlyNonAnonymousAddressSupported",
114                                                                               AddressingVersion.W3C.getPrefix());
115
116    public static final String ANONYMOUS_EPR = "<EndpointReference xmlns=\"http://www.w3.org/2005/08/addressing\">\n" +
117            "    <Address>http://www.w3.org/2005/08/addressing/anonymous</Address>\n" +
118            "</EndpointReference>";
119}
120