You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2007/09/28 16:14:03 UTC
svn commit: r580364 - in /webservices/axis2/trunk/java/modules:
addressing/src/org/apache/axis2/handlers/addressing/
kernel/src/org/apache/axis2/addressing/
kernel/src/org/apache/axis2/description/
Author: davidillsley
Date: Fri Sep 28 07:13:58 2007
New Revision: 580364
URL: http://svn.apache.org/viewvc?rev=580364&view=rev
Log:
WS-A Metadata spec implementation - first bits
Modified:
webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java?rev=580364&r1=580363&r2=580364&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingValidationHandler.java Fri Sep 28 07:13:58 2007
@@ -55,15 +55,15 @@
// Check if the wsa:MessageID is required or not.
checkMessageIDHeader(msgContext);
}
-
- // Check that if anonymous flag is in effect that the replyto and faultto are valid
- //checkAnonymous(msgContext);
}
if (JavaUtils.isFalseExplicitly(flag)) {
// Check that if wsaddressing=required that addressing headers were found inbound
checkUsingAddressing(msgContext);
}
+
+ // Check that if wsamInvocationPattern flag is in effect that the replyto and faultto are valid
+ checkWSAMInvocationPattern(msgContext);
return InvocationResponse.CONTINUE;
}
@@ -95,38 +95,40 @@
* Check that if a wsaw:Anonymous value was set on the AxisOperation that the values in the
* ReplyTo+FaultTo are valid and fault if not.
*/
- private void checkAnonymous(MessageContext msgContext) throws AxisFault {
- String anonymous =
- AddressingHelper.getAnonymousParameterValue(msgContext.getAxisOperation());
+ private void checkWSAMInvocationPattern(MessageContext msgContext) throws AxisFault {
+ String value =
+ AddressingHelper.getInvocationPatternParameterValue(msgContext.getAxisOperation());
if (log.isTraceEnabled()) {
- log.trace("checkAnonymous: Anonymous=" + anonymous);
+ log.trace("checkAnonymous: value=" + value);
}
- if ("required".equals(anonymous)) {
- if (AddressingHelper.isReplyRedirected(msgContext)) {
- EndpointReference anonEPR =
- new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL);
- msgContext.setReplyTo(anonEPR);
- msgContext.setFaultTo(anonEPR);
- AddressingFaultsHelper.triggerOnlyAnonymousAddressSupportedFault(msgContext,
- AddressingConstants.WSA_REPLY_TO);
- }
- if (AddressingHelper.isFaultRedirected(msgContext)) {
- EndpointReference anonEPR =
- new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL);
- msgContext.setReplyTo(anonEPR);
- msgContext.setFaultTo(anonEPR);
- AddressingFaultsHelper.triggerOnlyAnonymousAddressSupportedFault(msgContext,
- AddressingConstants.WSA_FAULT_TO);
- }
- } else if ("prohibited".equals(anonymous)) {
- if (!AddressingHelper.isReplyRedirected(msgContext)) {
- AddressingFaultsHelper.triggerOnlyNonAnonymousAddressSupportedFault(msgContext,
- AddressingConstants.WSA_REPLY_TO);
- }
- if (!AddressingHelper.isFaultRedirected(msgContext)) {
- AddressingFaultsHelper.triggerOnlyNonAnonymousAddressSupportedFault(msgContext,
- AddressingConstants.WSA_FAULT_TO);
- }
+ if(!AddressingConstants.WSAM_INVOCATION_PATTERN_BOTH.equals(value)){
+ if (WSAM_INVOCATION_PATTERN_SYNCHRONOUS.equals(value)) {
+ if (AddressingHelper.isReplyRedirected(msgContext)) {
+ EndpointReference anonEPR =
+ new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL);
+ msgContext.setReplyTo(anonEPR);
+ msgContext.setFaultTo(anonEPR);
+ AddressingFaultsHelper.triggerOnlyAnonymousAddressSupportedFault(msgContext,
+ AddressingConstants.WSA_REPLY_TO);
+ }
+ if (AddressingHelper.isFaultRedirected(msgContext)) {
+ EndpointReference anonEPR =
+ new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL);
+ msgContext.setReplyTo(anonEPR);
+ msgContext.setFaultTo(anonEPR);
+ AddressingFaultsHelper.triggerOnlyAnonymousAddressSupportedFault(msgContext,
+ AddressingConstants.WSA_FAULT_TO);
+ }
+ } else if (WSAM_INVOCATION_PATTERN_ASYNCHRONOUS.equals(value)) {
+ if (!AddressingHelper.isReplyRedirected(msgContext)) {
+ AddressingFaultsHelper.triggerOnlyNonAnonymousAddressSupportedFault(msgContext,
+ AddressingConstants.WSA_REPLY_TO);
+ }
+ if (!AddressingHelper.isFaultRedirected(msgContext)) {
+ AddressingFaultsHelper.triggerOnlyNonAnonymousAddressSupportedFault(msgContext,
+ AddressingConstants.WSA_FAULT_TO);
+ }
+ }
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java?rev=580364&r1=580363&r2=580364&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingConstants.java Fri Sep 28 07:13:58 2007
@@ -104,7 +104,10 @@
static final String DISABLE_OUTBOUND_ADDRESSING_VALIDATION =
"disableAddressingOutboundValidation";
- static final String WSAW_ANONYMOUS_PARAMETER_NAME = "wsawAnonymous";
+ static final String WSAM_INVOCATION_PATTERN_PARAMETER_NAME = "wsamInvocationPattern";
+ static final String WSAM_INVOCATION_PATTERN_SYNCHRONOUS = "synchronous";
+ static final String WSAM_INVOCATION_PATTERN_ASYNCHRONOUS = "asynchronous";
+ static final String WSAM_INVOCATION_PATTERN_BOTH = "both";
// ======================== Common Faults ==============================
static final String FAULT_ACTION_NOT_SUPPORTED = "ActionNotSupported";
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java?rev=580364&r1=580363&r2=580364&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/addressing/AddressingHelper.java Fri Sep 28 07:13:58 2007
@@ -107,20 +107,23 @@
*
* @param axisOperation
*/
- public static String getAnonymousParameterValue(AxisOperation axisOperation) {
+ public static String getInvocationPatternParameterValue(AxisOperation axisOperation) {
String value = "";
if (axisOperation != null) {
value = Utils.getParameterValue(
- axisOperation.getParameter(AddressingConstants.WSAW_ANONYMOUS_PARAMETER_NAME));
+ axisOperation.getParameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME));
+ if(value !=null){
+ value = value.trim();
+ }
if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
log.debug("getAnonymousParameterValue: value: '" + value + "'");
}
}
- if (value == null || "".equals(value.trim())) {
- value = "optional";
+ if (value == null || "".equals(value)) {
+ value = AddressingConstants.WSAM_INVOCATION_PATTERN_BOTH;
}
- return value.trim();
+ return value;
}
/**
@@ -131,25 +134,25 @@
* @param axisOperation
* @param value
*/
- public static void setAnonymousParameterValue(AxisOperation axisOperation, String value) {
+ public static void setInvocationPatternParameterValue(AxisOperation axisOperation, String value) {
if (value == null) {
if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
- log.debug("setAnonymousParameterValue: value passed in is null. return");
+ log.debug("setInvocationPatternParameterValue: value passed in is null. return");
}
return;
}
Parameter param =
- axisOperation.getParameter(AddressingConstants.WSAW_ANONYMOUS_PARAMETER_NAME);
+ axisOperation.getParameter(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME);
// If an existing parameter exists
if (param != null) {
if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
- log.debug("setAnonymousParameterValue: Parameter already exists");
+ log.debug("setInvocationPatternParameterValue: Parameter already exists");
}
// and is not locked
if (!param.isLocked()) {
if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
- log.debug("setAnonymousParameterValue: Parameter not locked. Setting value: " +
+ log.debug("setInvocationPatternParameterValue: Parameter not locked. Setting value: " +
value);
}
// set the value
@@ -158,15 +161,15 @@
} else {
// otherwise, if no Parameter exists
if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
- log.debug("setAnonymousParameterValue: Parameter does not exist");
+ log.debug("setInvocationPatternParameterValue: Parameter does not exist");
}
// Create new Parameter with correct name/value
param = new Parameter();
- param.setName(AddressingConstants.WSAW_ANONYMOUS_PARAMETER_NAME);
+ param.setName(AddressingConstants.WSAM_INVOCATION_PATTERN_PARAMETER_NAME);
param.setValue(value);
try {
if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
- log.debug("setAnonymousParameterValue: Adding parameter with value: " + value);
+ log.debug("setInvocationPatternParameterValue: Adding parameter with value: " + value);
}
// and add it to the AxisOperation object
axisOperation.addParameter(param);
@@ -176,7 +179,7 @@
// if statement.
if (LoggingControl.debugLoggingAllowed && log.isDebugEnabled()) {
log.debug(
- "setAnonymousParameterValue: addParameter failed: " + af.getMessage());
+ "setInvocationPatternParameterValue: addParameter failed: " + af.getMessage());
}
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java?rev=580364&r1=580363&r2=580364&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/WSDL11ToAxisServiceBuilder.java Fri Sep 28 07:13:58 2007
@@ -2136,19 +2136,6 @@
}
}
- } else if (AddressingConstants.Final.WSAW_ANONYMOUS
- .equals(unknown.getElementType())) {
- if (originOfExtensibilityElements.equals(BINDING_OPERATION)) {
- AxisOperation axisOperation = (AxisOperation) description;
- if (unknown.getElement().getFirstChild() != null
- && unknown.getElement().getFirstChild()
- .getNodeType() == Node.TEXT_NODE) {
- String anonymousValue = unknown.getElement()
- .getFirstChild().getNodeValue();
- AddressingHelper.setAnonymousParameterValue(
- axisOperation, anonymousValue);
- }
- }
} else if (wsdl4jExtensibilityElement.getElementType() != null &&
wsdl4jExtensibilityElement.getElementType().getNamespaceURI().equals(
org.apache.axis2.namespace.Constants.FORMAT_BINDING)) {
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org