001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one
003: * or more contributor license agreements. See the NOTICE file
004: * distributed with this work for additional information
005: * regarding copyright ownership. The ASF licenses this file
006: * to you under the Apache License, Version 2.0 (the
007: * "License"); you may not use this file except in compliance
008: * with the License. You may obtain a copy of the License at
009: *
010: * http://www.apache.org/licenses/LICENSE-2.0
011: *
012: * Unless required by applicable law or agreed to in writing,
013: * software distributed under the License is distributed on an
014: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015: * KIND, either express or implied. See the License for the
016: * specific language governing permissions and limitations
017: * under the License.
018: */
019:
020: package org.apache.axis2.addressing;
021:
022: import javax.xml.namespace.QName;
023:
024: /**
025: * Interface AddressingConstants
026: */
027: public interface AddressingConstants {
028:
029: // ====================== Common Message Addressing Properties ===================
030: static final String WSA_MESSAGE_ID = "MessageID";
031: static final String WSA_RELATES_TO = "RelatesTo";
032: static final String WSA_RELATES_TO_RELATIONSHIP_TYPE = "RelationshipType";
033: static final String WSA_TO = "To";
034: static final String WSA_REPLY_TO = "ReplyTo";
035: static final String WSA_FROM = "From";
036: static final String WSA_FAULT_TO = "FaultTo";
037: static final String WSA_ACTION = "Action";
038: static final String EPR_SERVICE_NAME = "ServiceName";
039: static final String EPR_REFERENCE_PARAMETERS = "ReferenceParameters";
040:
041: // ====================== Common EPR Elements ============================
042: static final String EPR_ADDRESS = "Address";
043: static final String WS_ADDRESSING_VERSION = "WSAddressingVersion";
044: static final String WSA_DEFAULT_PREFIX = "wsa";
045: static final String PARAM_SERVICE_GROUP_CONTEXT_ID = "ServiceGroupContextIdFromAddressing";
046: static final String IS_ADDR_INFO_ALREADY_PROCESSED = "IsAddressingProcessed";
047: static final String ADDR_VALIDATE_ACTION = "addressing.validateAction";
048:
049: // ====================== WSDL Binding Constants ========================
050: static final String USING_ADDRESSING = "UsingAddressing";
051: static final String ANONYMOUS = "Anonymous";
052:
053: // ====================== Addressing Requirement Levels ==================
054: // These are used to represent the requirement level on WS-Addressing indicated
055: // in a services.xml or a WSDL file.
056: // ADDRESSING_UNSPECIFIED is the equivalent of no UsingAddressing flag in a
057: // WSDL file and the default of the WSAddressingRequred attribute in service.xml
058: static final String ADDRESSING_UNSPECIFIED = "unspecified";
059: // ADDRESSING_OPTIONAL is the equivalent of <wsaw:UsingAddressing required="false" />
060: // in a WSDL file
061: static final String ADDRESSING_OPTIONAL = "optional";
062: // ADDRESSING_REQUIRED is the equivalent of <wsaw:UsingAddressing required="true" />
063: // in a WSDL file
064: static final String ADDRESSING_REQUIRED = "required";
065:
066: // If this property is set, addressing headers will be replaced from the information in the
067: // message context.
068: static final String REPLACE_ADDRESSING_HEADERS = "ReplaceAddressingHeaders";
069:
070: // this property once set to Boolean.TRUE will make the messages to skip Addressing Handler.
071: // So you will not see Addressing Headers in the OUT path.
072: static final String DISABLE_ADDRESSING_FOR_OUT_MESSAGES = "disableAddressingForOutMessages";
073:
074: static final String ADD_MUST_UNDERSTAND_TO_ADDRESSING_HEADERS = "addMustUnderstandToAddressingHeaders";
075:
076: /**
077: * A property pointing to an ArrayList of OMAttribute objects representing any attributes
078: * of the wsa:Action header.
079: */
080: static final String ACTION_ATTRIBUTES = "actionAttributes";
081: /**
082: * A property pointing to an ArrayList of OMAttribute objects representing any attributes
083: * of the wsa:MessageID header.
084: */
085: static final String MESSAGEID_ATTRIBUTES = "messageidAttributes";
086:
087: /**
088: * When set to Boolean.TRUE this will cause the addressing out handler to output all
089: * populated addressing headers in a message, including any optional ones.
090: */
091: static final String INCLUDE_OPTIONAL_HEADERS = "includeOptionalHeaders";
092:
093: /**
094: * This property, if set to Boolean.TRUE, will mean that the addressing handler allows partially
095: * ws-addressed messages to be sent even if they are then invalid rather than throwing a fault.
096: * <p/>
097: * It is not clear how necessary this property is and it may be removed before the next release if
098: * it is not seen to be necessary - davidillsley@apache.org
099: */
100: static final String DISABLE_OUTBOUND_ADDRESSING_VALIDATION = "disableAddressingOutboundValidation";
101:
102: static final String WSAW_ANONYMOUS_PARAMETER_NAME = "wsawAnonymous";
103:
104: // ======================== Common Faults ==============================
105: static final String FAULT_ACTION_NOT_SUPPORTED = "ActionNotSupported";
106: static final String FAULT_ACTION_NOT_SUPPORTED_REASON = "The [action] cannot be processed at the receiver.";
107: static final String FAULT_ADDRESSING_DESTINATION_UNREACHABLE = "DestinationUnreachable";
108:
109: interface Final {
110:
111: // ====================== Addressing 1.0 Final Version Constants ====================
112: static final String WSA_NAMESPACE = "http://www.w3.org/2005/08/addressing";
113: static final String WSAW_NAMESPACE = "http://www.w3.org/2006/05/addressing/wsdl";
114: /**
115: * @deprecated use {@link #WSA_DEFAULT_RELATIONSHIP_TYPE} instead.
116: */
117: static final String WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE = "http://www.w3.org/2005/08/addressing/reply";
118: static final String WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE = "IsReferenceParameter";
119: static final String WSA_ANONYMOUS_URL = "http://www.w3.org/2005/08/addressing/anonymous";
120: static final String WSA_NONE_URI = "http://www.w3.org/2005/08/addressing/none";
121: static final String WSA_FAULT_ACTION = "http://www.w3.org/2005/08/addressing/fault";
122: static final String WSA_SOAP_FAULT_ACTION = "http://www.w3.org/2005/08/addressing/soap/fault";
123: static final String WSA_TYPE_ATTRIBUTE_VALUE = "true";
124: static final String WSA_SERVICE_NAME_ENDPOINT_NAME = "EndpointName";
125: static final String WSA_POLICIES = "Policies";
126: static final String WSA_METADATA = "Metadata";
127:
128: static final String WSA_INTERFACE_NAME = "InterfaceName";
129:
130: static final String WSA_DEFAULT_RELATIONSHIP_TYPE = "http://www.w3.org/2005/08/addressing/reply";
131:
132: // fault information
133: static final String FAULT_HEADER_PROB_HEADER_QNAME = "ProblemHeaderQName";
134: static final String FAULT_HEADER_PROB_HEADER = "ProblemHeader";
135: static final String FAULT_HEADER_PROB_IRI = "ProblemIRI";
136: static final String FAULT_HEADER_DETAIL = "FaultDetail";
137: static final String FAULT_INVALID_HEADER = "InvalidAddressingHeader";
138: static final String FAULT_INVALID_HEADER_REASON = "A header representing a Message Addressing Property is not valid and the message cannot be processed";
139: static final String FAULT_ADDRESSING_HEADER_REQUIRED = "MessageAddressingHeaderRequired";
140: static final String FAULT_ADDRESSING_HEADER_REQUIRED_REASON = "A required header representing a Message Addressing Property is not present";
141: static final String FAULT_ADDRESSING_DESTINATION_UNREACHABLE_REASON = "No route can be determined to reach [destination]";
142: static final String FAULT_INVALID_CARDINALITY = "InvalidCardinality";
143: static final String FAULT_ONLY_ANONYMOUS_ADDRESS_SUPPORTED = "OnlyAnonymousAddressSupported";
144: static final String FAULT_ONLY_NON_ANONYMOUS_ADDRESS_SUPPORTED = "OnlyNonAnonymousAddressSupported";
145: static final String FAULT_PROBLEM_ACTION_NAME = "ProblemAction";
146:
147: static final QName WSAW_USING_ADDRESSING = new QName(
148: WSAW_NAMESPACE, USING_ADDRESSING);
149: static final QName WSAW_ANONYMOUS = new QName(WSAW_NAMESPACE,
150: USING_ADDRESSING);
151:
152: final QName QNAME_WSA_TO = new QName(WSA_NAMESPACE, WSA_TO);
153: final QName QNAME_WSA_FROM = new QName(WSA_NAMESPACE, WSA_FROM);
154: final QName QNAME_WSA_REPLY_TO = new QName(WSA_NAMESPACE,
155: WSA_REPLY_TO);
156: final QName QNAME_WSA_RELATES_TO = new QName(WSA_NAMESPACE,
157: WSA_RELATES_TO);
158: final QName QNAME_WSA_MESSAGE_ID = new QName(WSA_NAMESPACE,
159: WSA_MESSAGE_ID);
160: final QName QNAME_WSA_HEADER_DETAIL = new QName(WSA_NAMESPACE,
161: FAULT_HEADER_DETAIL);
162: final QName QNAME_PROBLEM_HEADER = new QName(WSA_NAMESPACE,
163: FAULT_HEADER_PROB_HEADER_QNAME);
164: final QName QNAME_INVALID_HEADER = new QName(WSA_NAMESPACE,
165: FAULT_INVALID_HEADER);
166: }
167:
168: interface Submission {
169:
170: // ====================== Addressing Submission Version Constants ===================
171: static final String WSA_NAMESPACE = "http://schemas.xmlsoap.org/ws/2004/08/addressing";
172: /**
173: * @deprecated use {@link #WSA_DEFAULT_RELATIONSHIP_TYPE} instead.
174: */
175: static final String WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE = "wsa:Reply";
176: static final String WSA_DEFAULT_RELATIONSHIP_TYPE = "wsa:Reply";
177: static final String WSA_ANONYMOUS_URL = "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous";
178:
179: static final String EPR_REFERENCE_PROPERTIES = "ReferenceProperties";
180: static final String WSA_FAULT_ACTION = "http://schemas.xmlsoap.org/ws/2004/08/addressing/fault";
181:
182: // fault information
183: static final String FAULT_INVALID_HEADER = "InvalidMessageInformationHeader";
184: static final String FAULT_INVALID_HEADER_REASON = "A message information header is not valid and the message cannot be processed. The validity failure can be either structural or semantic, e.g. a [destination] that is not a URI or a [relationship] to a [message id] that was never issued.";
185: static final String FAULT_ADDRESSING_HEADER_REQUIRED = "MessageInformationHeaderRequired";
186: static final String FAULT_ADDRESSING_HEADER_REQUIRED_REASON = "A required message information header, To, MessageID, or Action, is not present.";
187: static final String FAULT_ADDRESSING_DESTINATION_UNREACHABLE_REASON = "No route can be determined to reach the destination role defined by the WS-Addressing To.";
188:
189: static final QName WSAW_USING_ADDRESSING = new QName(
190: WSA_NAMESPACE, USING_ADDRESSING);
191:
192: final QName QNAME_WSA_TO = new QName(WSA_NAMESPACE, WSA_TO);
193: final QName QNAME_WSA_FROM = new QName(WSA_NAMESPACE, WSA_FROM);
194: final QName QNAME_WSA_REPLY_TO = new QName(WSA_NAMESPACE,
195: WSA_REPLY_TO);
196: final QName QNAME_WSA_RELATES_TO = new QName(WSA_NAMESPACE,
197: WSA_RELATES_TO);
198: final QName QNAME_WSA_MESSAGE_ID = new QName(WSA_NAMESPACE,
199: WSA_MESSAGE_ID);
200: }
201: }
|