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"));