Author: ema
Date: Thu Jan  5 05:39:40 2012
New Revision: 1227494

URL: http://svn.apache.org/viewvc?rev=1227494&view=rev
Log:
[CXF-3981]:WS-Addressing related faults do not contain addressing headers

Modified:
    
cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractFaultChainInitiatorObserver.java
    
cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/MAPAggregator.java

Modified: 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractFaultChainInitiatorObserver.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractFaultChainInitiatorObserver.java?rev=1227494&r1=1227493&r2=1227494&view=diff
==============================================================================
--- 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractFaultChainInitiatorObserver.java
 (original)
+++ 
cxf/trunk/rt/core/src/main/java/org/apache/cxf/interceptor/AbstractFaultChainInitiatorObserver.java
 Thu Jan  5 05:39:40 2012
@@ -86,6 +86,11 @@ public abstract class AbstractFaultChain
                 if (null != mode) {
                     faultMessage.put(FaultMode.class, mode);
                 }
+                //CXF-3981
+                if (message.get("javax.xml.ws.addressing.context.inbound") != 
null) {
+                    faultMessage.put("javax.xml.ws.addressing.context.inbound",
+                                     
message.get("javax.xml.ws.addressing.context.inbound"));
+                }
                 exchange.setOutMessage(null);
                 exchange.setOutFaultMessage(faultMessage);
                 if (message.get(BindingFaultInfo.class) != null) {

Modified: 
cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/MAPAggregator.java
URL: 
http://svn.apache.org/viewvc/cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/MAPAggregator.java?rev=1227494&r1=1227493&r2=1227494&view=diff
==============================================================================
--- 
cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/MAPAggregator.java
 (original)
+++ 
cxf/trunk/rt/ws/addr/src/main/java/org/apache/cxf/ws/addressing/MAPAggregator.java
 Thu Jan  5 05:39:40 2012
@@ -464,10 +464,12 @@ public class MAPAggregator extends Abstr
                         || (aicNonAnon2 != null && !aicNonAnon2.isEmpty());
                 
             if (hasAnonymous && hasNonAnon && !hasAnon) {
+                message.put(FaultMode.class, 
FaultMode.UNCHECKED_APPLICATION_FAULT);
                 throw new SoapFault("Found anonymous address but non-anonymous 
required",
                                     new QName(Names.WSA_NAMESPACE_NAME,
                                               
"OnlyNonAnonymousAddressSupported"));
             } else if (!onlyAnonymous && !hasNonAnon && hasAnon) {
+                message.put(FaultMode.class, 
FaultMode.UNCHECKED_APPLICATION_FAULT);
                 throw new SoapFault("Found non-anonymous address but only 
anonymous supported",
                                     new QName(Names.WSA_NAMESPACE_NAME,
                                               
"OnlyAnonymousAddressSupported"));


Reply via email to