Author: ffang
Date: Thu May 21 02:06:14 2009
New Revision: 776920

URL: http://svn.apache.org/viewvc?rev=776920&view=rev
Log:
[SMXCOMP-547]CXF-BC Component unable to use web services with parameter named 
Body when useJBIWrapper=false and messsage has no SOAP envlope

Modified:
    
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
    
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
    
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java

Modified: 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java?rev=776920&r1=776919&r2=776920&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
 (original)
+++ 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
 Thu May 21 02:06:14 2009
@@ -463,7 +463,7 @@
             cxfService.getInInterceptors().add(new OutgoingChainInterceptor());
 
             cxfService.getOutInterceptors().add(
-                    new JbiOutWsdl1Interceptor(isUseJBIWrapper()));
+                    new JbiOutWsdl1Interceptor(isUseJBIWrapper(), 
isUseSOAPEnvelope()));
 
             cxfService.getOutInterceptors().add(new 
SoapActionOutInterceptor());
             cxfService.getOutInterceptors().add(new 
AttachmentOutInterceptor());

Modified: 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java?rev=776920&r1=776919&r2=776920&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
 (original)
+++ 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
 Thu May 21 02:06:14 2009
@@ -212,7 +212,7 @@
         }
 
         outList.add(new JbiOutInterceptor());
-        outList.add(new JbiOutWsdl1Interceptor(isUseJBIWrapper()));
+        outList.add(new JbiOutWsdl1Interceptor(isUseJBIWrapper(), 
isUseSOAPEnvelope()));
         outList.add(new SoapPreProtocolOutInterceptor());
         outList.add(new SoapOutInterceptor(getBus()));
         outList.add(new SoapActionOutInterceptor());

Modified: 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java?rev=776920&r1=776919&r2=776920&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java
 (original)
+++ 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java
 Thu May 21 02:06:14 2009
@@ -56,10 +56,12 @@
 public class JbiOutWsdl1Interceptor extends AbstractSoapInterceptor {
     
     private boolean useJBIWrapper = true;
+    private boolean useSOAPWrapper = true;
     
-    public JbiOutWsdl1Interceptor(boolean useJBIWrapper) {
+    public JbiOutWsdl1Interceptor(boolean useJBIWrapper, boolean 
useSOAPWrapper) {
         super(Phase.MARSHAL);
         this.useJBIWrapper = useJBIWrapper;
+        this.useSOAPWrapper = useSOAPWrapper;
     }
 
     public void handleMessage(SoapMessage message) {
@@ -77,9 +79,12 @@
                 SoapVersion soapVersion = message.getVersion();                
                 if (element != null) {                                         
             
                     // if this message is coming from the CxfBCConsumer
-                    Element bodyElement = (Element) 
element.getElementsByTagNameNS(
+                    Element bodyElement = null;
+                    if (useSOAPWrapper) {
+                       bodyElement = (Element) element.getElementsByTagNameNS(
                             element.getNamespaceURI(),
                             soapVersion.getBody().getLocalPart()).item(0);
+                    }
                     if (bodyElement != null) {
                         
StaxUtils.writeElement((Element)bodyElement.getFirstChild(), xmlWriter, false); 
                          
                     } else {


Reply via email to