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