You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2006/03/02 14:14:11 UTC

svn commit: r382373 - in /webservices/axis2/trunk/java/modules: addressing/src/org/apache/axis2/handlers/addressing/ core/src/org/apache/axis2/engine/ core/src/org/apache/axis2/util/

Author: chinthaka
Date: Thu Mar  2 05:14:07 2006
New Revision: 382373

URL: http://svn.apache.org/viewcvs?rev=382373&view=rev
Log:
Improving addressing handlers

Modified:
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
    webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEngine.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java?rev=382373&r1=382372&r2=382373&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingInHandler.java Thu Mar  2 05:14:07 2006
@@ -122,6 +122,7 @@
                 faultInformation = new HashMap();
                 messageContext.setProperty(Constants.FAULT_INFORMATION_FOR_HEADERS, faultInformation);
             }
+
             faultInformation.put(Final.FAULT_HEADER_PROB_HEADER_QNAME, "wsa:" + addressingHeaderName);
             faultInformation.put(Final.WSA_FAULT_ACTION, Final.WSA_FAULT_ACTION);
             if (messageContext.isSOAP11()) {

Modified: webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java?rev=382373&r1=382372&r2=382373&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java (original)
+++ webservices/axis2/trunk/java/modules/addressing/src/org/apache/axis2/handlers/addressing/AddressingOutHandler.java Thu Mar  2 05:14:07 2006
@@ -151,7 +151,7 @@
         Map faultInfo = (Map) msgContext.getProperty(Constants.FAULT_INFORMATION_FOR_HEADERS);
         if (faultInfo != null) {
             String faultyHeaderQName = (String) faultInfo.get(Final.FAULT_HEADER_PROB_HEADER_QNAME);
-            if (faultyHeaderQName != null && "".equals(faultyHeaderQName)) {
+            if (faultyHeaderQName != null && !"".equals(faultyHeaderQName)) {
                 SOAPHeaderBlock faultDetail = envelope.getHeader().addHeaderBlock(Final.FAULT_HEADER_DETAIL, addressingNamespaceObject);
                 OMElement probHeaderQName = OMAbstractFactory.getOMFactory().createOMElement(Final.FAULT_HEADER_PROB_HEADER_QNAME, addressingNamespaceObject, faultDetail);
                 probHeaderQName.setText(faultyHeaderQName);

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEngine.java?rev=382373&r1=382372&r2=382373&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEngine.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEngine.java Thu Mar  2 05:14:07 2006
@@ -21,6 +21,7 @@
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.addressing.RelatesTo;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.OperationContext;
@@ -28,6 +29,7 @@
 import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.transport.TransportSender;
+import org.apache.axis2.util.UUIDGenerator;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ws.commons.om.OMAbstractFactory;
@@ -150,6 +152,14 @@
         faultContext.setTransportIn(processingContext.getTransportIn());
         faultContext.setTransportOut(processingContext.getTransportOut());
 
+        faultContext.setMessageID(UUIDGenerator.getUUID());
+        faultContext.setRelatesTo(
+                new RelatesTo(
+                        processingContext.getOptions().getMessageId(),
+                        AddressingConstants.Final.WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE));
+        faultContext.setProperty(MessageContext.CHARACTER_SET_ENCODING,
+                processingContext.getProperty(MessageContext.CHARACTER_SET_ENCODING));
+
         // register the fault message context
         if (processingContext.getAxisOperation() != null && processingContext.getOperationContext() != null)
         {
@@ -289,7 +299,7 @@
                     uri = uri == null || "".equals(uri) ? Constants.AXIS2_NAMESPACE_URI : uri;
                     soapFaultCode = prefix + ":" + faultCodeQName.getLocalPart();
                     fault.declareNamespace(uri, prefix);
-                }else{
+                } else {
                     soapFaultCode = faultCodeQName.getLocalPart();
                 }
             }
@@ -309,7 +319,7 @@
             message = fault.getReason().getSOAPText().getText();
         } else if (soapException != null) {
             message = soapException.getMessage();
-        } else if (exception instanceof AxisFault) {
+        } else if (((exception = e) instanceof AxisFault || (exception = e.getCause()) instanceof AxisFault)){
             message = ((AxisFault) exception).getReason();
             message = message != null && "".equals(message) ? message : e.getMessage();
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java?rev=382373&r1=382372&r2=382373&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java Thu Mar  2 05:14:07 2006
@@ -86,7 +86,7 @@
             newmsgCtx.setReplyTo(replyToEPR);
         }
 
-        newmsgCtx.setFaultTo(oldOptions.getFaultTo());
+        newmsgCtx.setFaultTo(oldOptions.getTo());
         newmsgCtx.setFrom(oldOptions.getTo());
         newmsgCtx.setRelatesTo(
                 new RelatesTo(