Author: ay
Date: Wed May 22 11:28:37 2013
New Revision: 1485154
URL: http://svn.apache.org/r1485154
Log:
Merged revisions 1485151 via svn merge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1485151 | ay | 2013-05-22 13:21:20 +0200 (Wed, 22 May 2013) | 1 line
addition to CXF-5009 as requested
........
Modified:
cxf/branches/2.7.x-fixes/ (props changed)
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java
cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java
Propchange: cxf/branches/2.7.x-fixes/
('svn:mergeinfo' removed)
Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java?rev=1485154&r1=1485153&r2=1485154&view=diff
==============================================================================
---
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java
(original)
+++
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapFault.java
Wed May 22 11:28:37 2013
@@ -189,7 +189,7 @@ public class SoapFault extends Fault {
*
* @param subCode The SubCode element as detailed by the SOAP 1.2 spec.
*/
- public void appendSubCode(QName subCode) {
+ public void addSubCode(QName subCode) {
if (subCodes == null) {
subCodes = new LinkedList<QName>();
}
Modified:
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java?rev=1485154&r1=1485153&r2=1485154&view=diff
==============================================================================
---
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java
(original)
+++
cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java
Wed May 22 11:28:37 2013
@@ -150,8 +150,8 @@ public class SoapFaultSerializerTest ext
String faultString = "Hadrian caused this Fault!";
SoapFault fault = new SoapFault(faultString,
Soap12.getInstance().getSender());
- fault.appendSubCode(new QName("http://cxf.apache.org/soap/fault",
"invalidsoap", "cxffaultcode"));
- fault.appendSubCode(new QName("http://cxf.apache.org/soap/fault2",
"invalidsoap2", "cxffaultcode2"));
+ fault.addSubCode(new QName("http://cxf.apache.org/soap/fault",
"invalidsoap", "cxffaultcode"));
+ fault.addSubCode(new QName("http://cxf.apache.org/soap/fault2",
"invalidsoap2", "cxffaultcode2"));
SoapMessage m = new SoapMessage(new MessageImpl());
m.setVersion(Soap12.getInstance());
Modified:
cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java?rev=1485154&r1=1485153&r2=1485154&view=diff
==============================================================================
---
cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java
(original)
+++
cxf/branches/2.7.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WebFaultOutInterceptor.java
Wed May 22 11:28:37 2013
@@ -21,6 +21,7 @@ package org.apache.cxf.jaxws.interceptor
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.Iterator;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.logging.Level;
@@ -37,6 +38,7 @@ import org.apache.cxf.common.i18n.Bundle
import org.apache.cxf.common.logging.LogUtils;
import org.apache.cxf.common.util.StringUtils;
import org.apache.cxf.databinding.DataWriter;
+import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.interceptor.FaultOutInterceptor;
import org.apache.cxf.message.FaultMode;
@@ -88,16 +90,10 @@ public class WebFaultOutInterceptor exte
try {
if (f.getCause().getClass().equals(SOAPFaultException.class)) {
SOAPFaultException sf = (SOAPFaultException) (f.getCause());
- if (sf.getFault().getFaultSubcodes().hasNext()
- && f.getClass().equals(SoapFault.class)) {
- String subcode = sf.getFault().getFaultSubcodes().next()
- .toString();
- String nameSpace = subcode.substring(
- subcode.indexOf("{") + 1, subcode.indexOf("}"));
- String localPart = subcode
- .substring(subcode.indexOf("}") + 1);
- QName subcodeQName = new QName(nameSpace, localPart);
- ((SoapFault) f).setSubCode(subcodeQName);
+ if (f instanceof SoapFault) {
+ for (Iterator<QName> it =
CastUtils.cast(sf.getFault().getFaultSubcodes()); it.hasNext();) {
+ ((SoapFault) f).addSubCode(it.next());
+ }
}
if (sf.getFault().getFaultReasonLocales().hasNext()) {
Locale lang = (Locale) sf.getFault()