You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/08/11 22:52:27 UTC

svn commit: r684918 - /cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java

Author: dkulp
Date: Mon Aug 11 13:52:26 2008
New Revision: 684918

URL: http://svn.apache.org/viewvc?rev=684918&view=rev
Log:
[CXF-1716] Map internal codes to proper soap:fault codes

Modified:
    cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java

Modified: cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java?rev=684918&r1=684917&r2=684918&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java (original)
+++ cxf/trunk/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java Mon Aug 11 13:52:26 2008
@@ -148,6 +148,17 @@
 
     public static SoapFault createFault(Fault f, SoapVersion v) {
         if (f instanceof SoapFault) {
+            //make sure the fault code is per spec
+            //if it's one of our internal codes, map it to the proper soap code
+            if (f.getFaultCode().getNamespaceURI().equals(Fault.FAULT_CODE_CLIENT.getNamespaceURI())) {
+                QName fc = f.getFaultCode();
+                if (Fault.FAULT_CODE_CLIENT.equals(fc)) {
+                    fc = v.getSender();
+                } else if (Fault.FAULT_CODE_SERVER.equals(fc)) { 
+                    fc = v.getReceiver();
+                }
+                f.setFaultCode(fc);
+            }
             return (SoapFault)f;
         }