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 2014/01/17 18:04:00 UTC

svn commit: r1559186 - in /cxf/branches/2.7.x-fixes: api/src/main/java/org/apache/cxf/helpers/ rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/

Author: dkulp
Date: Fri Jan 17 17:03:59 2014
New Revision: 1559186

URL: http://svn.apache.org/r1559186
Log:
Merged revisions 1559173 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1559173 | dkulp | 2014-01-17 11:33:46 -0500 (Fri, 17 Jan 2014) | 2 lines

  [CXF-5493] DOMUtils isn't handling CDATASections when grabbing text content

........

Added:
    cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/cxf5493.xml   (with props)
Modified:
    cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/helpers/DOMUtils.java
    cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/SoapFaultSerializerTest.java

Modified: cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/helpers/DOMUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/helpers/DOMUtils.java?rev=1559186&r1=1559185&r2=1559186&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/helpers/DOMUtils.java (original)
+++ cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/helpers/DOMUtils.java Fri Jan 17 17:03:59 2014
@@ -161,7 +161,7 @@ public final class DOMUtils {
         String s = null;
         Node n1 = n.getFirstChild();
         while (n1 != null) {
-            if (n1.getNodeType() == Node.TEXT_NODE) {
+            if (n1.getNodeType() == Node.TEXT_NODE || n1.getNodeType() == Node.CDATA_SECTION_NODE) {
                 if (b != null) {
                     b.append(((Text)n1).getNodeValue());
                 } else if (s == null) {

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=1559186&r1=1559185&r2=1559186&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 Fri Jan 17 17:03:59 2014
@@ -315,4 +315,48 @@ public class SoapFaultSerializerTest ext
         assertEquals(new QName("http://schemas.xmlsoap.org/ws/2005/02/trust", "FailedAuthentication"), 
              fault2.getSubCode());
     }
+    
+    
+    @Test
+    public void testCXF5493() throws Exception {
+
+        SoapMessage m = new SoapMessage(new MessageImpl());
+        m.setVersion(Soap11.getInstance());        
+
+
+        XMLStreamReader reader = StaxUtils.createXMLStreamReader(this.getClass()
+                                                                 .getResourceAsStream("cxf5493.xml"));
+        m.setContent(XMLStreamReader.class, reader);
+        reader.nextTag(); //env
+        reader.nextTag(); //body
+        reader.nextTag(); //fault
+
+        Soap11FaultInInterceptor inInterceptor = new Soap11FaultInInterceptor();
+        inInterceptor.handleMessage(m);
+
+        SoapFault fault2 = (SoapFault)m.getContent(Exception.class);
+        assertNotNull(fault2);
+        assertEquals(Soap11.getInstance().getReceiver(), fault2.getFaultCode());
+        assertEquals("some text containing a xml tag <xml-tag>", fault2.getMessage());
+        
+        
+        
+        m = new SoapMessage(new MessageImpl());
+        m.put(Message.HTTP_REQUEST_METHOD, "POST");
+        m.setVersion(Soap11.getInstance());        
+        reader = StaxUtils.createXMLStreamReader(this.getClass().getResourceAsStream("cxf5493.xml"));
+
+        m.setContent(XMLStreamReader.class, reader);
+
+        new SAAJPreInInterceptor().handleMessage(m);
+        new ReadHeadersInterceptor(null).handleMessage(m);
+        new StartBodyInterceptor().handleMessage(m);
+        new SAAJInInterceptor().handleMessage(m);
+        new Soap11FaultInInterceptor().handleMessage(m);
+
+        fault2 = (SoapFault)m.getContent(Exception.class);
+        assertNotNull(fault2);
+        assertEquals(Soap11.getInstance().getReceiver(), fault2.getFaultCode());
+        assertEquals("some text containing a xml tag <xml-tag>", fault2.getMessage());
+    }
 }

Added: cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/cxf5493.xml
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/cxf5493.xml?rev=1559186&view=auto
==============================================================================
--- cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/cxf5493.xml (added)
+++ cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/cxf5493.xml Fri Jan 17 17:03:59 2014
@@ -0,0 +1,8 @@
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
+ <soap:Body xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
+   <soap:Fault>
+     <faultcode>soap:Server</faultcode>
+     <faultstring><![CDATA[some text containing a xml tag <xml-tag>]]></faultstring>
+   </soap:Fault>
+ </soap:Body>
+</soap:Envelope>
\ No newline at end of file

Propchange: cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/cxf5493.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/branches/2.7.x-fixes/rt/bindings/soap/src/test/java/org/apache/cxf/binding/soap/interceptor/cxf5493.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml