[1/3] cxf git commit: [CXF-6919] For soap 1.2, make sure the fault code is valid

2017-04-05 Thread dkulp
Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes b94ebcca7 -> 53e7752ff


[CXF-6919] For soap 1.2, make sure the fault code is valid


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/69247884
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/69247884
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/69247884

Branch: refs/heads/3.0.x-fixes
Commit: 6924788445ce33477162dd6076afe683c78babe2
Parents: b94ebcc
Author: Daniel Kulp 
Authored: Wed Apr 5 11:29:05 2017 -0400
Committer: Daniel Kulp 
Committed: Wed Apr 5 15:18:36 2017 -0400

--
 .../apache/cxf/binding/soap/saaj/SAAJUtils.java | 37 ++--
 1 file changed, 26 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/69247884/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
index 89cb7f7..0215519 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
@@ -21,12 +21,14 @@ package org.apache.cxf.binding.soap.saaj;
 
 import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPFault;
 import javax.xml.soap.SOAPHeader;
 import javax.xml.soap.SOAPMessage;
 
+import org.apache.cxf.binding.soap.Soap12;
 import org.apache.cxf.common.util.StringUtils;
 
 /**
@@ -52,20 +54,33 @@ public final class SAAJUtils {
 return m.getSOAPPart().getEnvelope().getBody();
 }
 }
+
 public static void setFaultCode(SOAPFault f, QName code) throws 
SOAPException {
-try {
-f.setFaultCode(code);
-} catch (Throwable t) {
-int count = 1;
-String pfx = "fc1";
-while (!StringUtils.isEmpty(f.getNamespaceURI(pfx))) {
-count++;
-pfx = "fc" + count;
+if (f.getNamespaceURI().equals(Soap12.SOAP_NAMESPACE)) {
+try {
+f.setFaultCode(code);
+} catch (SOAPException ex) {
+f.setFaultCode(SOAPConstants.SOAP_SENDER_FAULT);
+f.appendFaultSubcode(code);
+}
+} else {
+try {
+f.setFaultCode(code);
+} catch (Throwable t) {
+int count = 1;
+String pfx = "fc1";
+while (!StringUtils.isEmpty(f.getNamespaceURI(pfx))) {
+count++;
+pfx = "fc" + count;
+}
+if (code.getNamespaceURI() != null && 
!"".equals(code.getNamespaceURI())) {
+f.addNamespaceDeclaration(pfx, code.getNamespaceURI());
+} else {
+f.addNamespaceDeclaration(pfx, f.getNamespaceURI());
+}
+f.setFaultCode(pfx + ":" + code.getLocalPart());
 }
-f.addNamespaceDeclaration(pfx, code.getNamespaceURI());
-f.setFaultCode(pfx + ":" + code.getLocalPart());
 }
-
 }
 
 public static SOAPElement adjustPrefix(SOAPElement e, String prefix) {



[1/3] cxf git commit: [CXF-6919] For soap 1.2, make sure the fault code is valid

2017-04-05 Thread dkulp
Repository: cxf
Updated Branches:
  refs/heads/3.1.x-fixes 0da892a50 -> 0ba98f03e


[CXF-6919] For soap 1.2, make sure the fault code is valid

# Conflicts:
#   
rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/c572
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/c572
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/c572

Branch: refs/heads/3.1.x-fixes
Commit: c5724b774580889fcdd1b75ca7e7dd762ccb
Parents: 0da892a
Author: Daniel Kulp 
Authored: Wed Apr 5 11:29:05 2017 -0400
Committer: Daniel Kulp 
Committed: Wed Apr 5 15:16:37 2017 -0400

--
 .../apache/cxf/binding/soap/saaj/SAAJUtils.java | 39 +---
 1 file changed, 25 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/c572/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
index f1abe19..0215519 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/saaj/SAAJUtils.java
@@ -21,12 +21,14 @@ package org.apache.cxf.binding.soap.saaj;
 
 import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPConstants;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPException;
 import javax.xml.soap.SOAPFault;
 import javax.xml.soap.SOAPHeader;
 import javax.xml.soap.SOAPMessage;
 
+import org.apache.cxf.binding.soap.Soap12;
 import org.apache.cxf.common.util.StringUtils;
 
 /**
@@ -52,24 +54,33 @@ public final class SAAJUtils {
 return m.getSOAPPart().getEnvelope().getBody();
 }
 }
+
 public static void setFaultCode(SOAPFault f, QName code) throws 
SOAPException {
-try {
-f.setFaultCode(code);
-} catch (Throwable t) {
-int count = 1;
-String pfx = "fc1";
-while (!StringUtils.isEmpty(f.getNamespaceURI(pfx))) {
-count++;
-pfx = "fc" + count;
+if (f.getNamespaceURI().equals(Soap12.SOAP_NAMESPACE)) {
+try {
+f.setFaultCode(code);
+} catch (SOAPException ex) {
+f.setFaultCode(SOAPConstants.SOAP_SENDER_FAULT);
+f.appendFaultSubcode(code);
 }
-if (code.getNamespaceURI() != null && 
!"".equals(code.getNamespaceURI())) {
-f.addNamespaceDeclaration(pfx, code.getNamespaceURI());
-} else {
-f.addNamespaceDeclaration(pfx, f.getNamespaceURI());
+} else {
+try {
+f.setFaultCode(code);
+} catch (Throwable t) {
+int count = 1;
+String pfx = "fc1";
+while (!StringUtils.isEmpty(f.getNamespaceURI(pfx))) {
+count++;
+pfx = "fc" + count;
+}
+if (code.getNamespaceURI() != null && 
!"".equals(code.getNamespaceURI())) {
+f.addNamespaceDeclaration(pfx, code.getNamespaceURI());
+} else {
+f.addNamespaceDeclaration(pfx, f.getNamespaceURI());
+}
+f.setFaultCode(pfx + ":" + code.getLocalPart());
 }
-f.setFaultCode(pfx + ":" + code.getLocalPart());
 }
-
 }
 
 public static SOAPElement adjustPrefix(SOAPElement e, String prefix) {