1 /*
   2  * Copyright (c) 1997, 2012, 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 
  26 package com.sun.xml.internal.ws.addressing;
  27 
  28 import javax.xml.namespace.QName;
  29 
  30 import com.sun.xml.internal.ws.api.addressing.AddressingVersion;
  31 
  32 /**
  33  * Constants for W3C WS-Addressing version
  34  *
  35  * @author Arun Gupta
  36  */
  37 public 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 }