You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by nt...@apache.org on 2010/10/08 17:49:18 UTC

svn commit: r1005868 - /axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java

Author: nthaker
Date: Fri Oct  8 15:49:18 2010
New Revision: 1005868

URL: http://svn.apache.org/viewvc?rev=1005868&view=rev
Log:
The WS-Addressing action that is being generated is not correct in some scenarios where faults are generated. The problem was discovered during CTS testing for jax-ws 2.2. I am committing code that will fix this issue.

Code Contribution by Brian DePradine.

JIRA Axis2-4839.

Modified:
    axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java

Modified: axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java?rev=1005868&r1=1005867&r2=1005868&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java (original)
+++ axis/axis2/java/core/trunk/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java Fri Oct  8 15:49:18 2010
@@ -529,6 +529,10 @@ class OperationDescriptionImpl
                                         portTypeName, 
                                         operationName, 
                                         faultMessage.getName());
+
+                if (log.isDebugEnabled()) {
+                    log.debug("Default faultAction = "+faultAction);
+                }
                 
                 newAxisOperation.addFaultAction(faultDesc.getExceptionClassName(),  faultAction);
                 newAxisOperation.setFaultMessages(faultMessage);
@@ -559,7 +563,24 @@ class OperationDescriptionImpl
                     }
                     FaultDescription faultDesc = resolveFaultByExceptionName(className);
                     if (faultDesc != null)  {
-                        newAxisOperation.addFaultAction(className, faultAction.value());
+                        
+                        String faultActionString = faultAction.value();
+                        if (log.isDebugEnabled()) {
+                            log.debug("SANDERKA: faultAction value = "+faultActionString);
+                        }
+                        
+                        if (faultActionString.equals("")) {
+                            faultActionString = 
+                                WSDL11ActionHelper.getFaultActionFromStringInformation( targetNS, 
+                                                portTypeName, 
+                                                operationName, 
+                                                className.substring((className.lastIndexOf('.'))+1));
+                            
+                            if (log.isDebugEnabled()) {
+                                log.debug("New faultAction value = "+faultActionString);
+                            }
+                        }
+                        newAxisOperation.addFaultAction(className, faultActionString);
                     }
                 }
             }