You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2008/05/01 09:51:56 UTC

svn commit: r652450 - in /servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src: main/java/org/apache/servicemix/cxfbc/ main/java/org/apache/servicemix/cxfbc/interceptors/ test/java/org/apache/servicemix/cxfbc/ tes...

Author: ffang
Date: Thu May  1 00:51:56 2008
New Revision: 652450

URL: http://svn.apache.org/viewvc?rev=652450&view=rev
Log:
[SM-1331]cxf-bc provider not handling soap headers correctly

Modified:
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider.xml
    servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java?rev=652450&r1=652449&r2=652450&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/CxfBcProvider.java Thu May  1 00:51:56 2008
@@ -160,7 +160,7 @@
             
         }
         
-        
+        outList.add(new JbiOutInterceptor());
         outList.add(new JbiOutWsdl1Interceptor(isUseJBIWrapper()));
         outList.add(new SoapPreProtocolOutInterceptor());
         outList.add(new SoapOutInterceptor(getBus()));

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java?rev=652450&r1=652449&r2=652450&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java Thu May  1 00:51:56 2008
@@ -27,18 +27,31 @@
 import javax.jbi.messaging.MessageExchange;
 import javax.jbi.messaging.NormalizedMessage;
 import javax.xml.namespace.QName;
-
+import javax.xml.transform.Source;
+import javax.xml.transform.dom.DOMSource;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 import org.apache.cxf.attachment.AttachmentImpl;
 import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.binding.soap.model.SoapBindingInfo;
+import org.apache.cxf.binding.soap.model.SoapHeaderInfo;
+import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.headers.Header;
+import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.message.Attachment;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.phase.AbstractPhaseInterceptor;
 import org.apache.cxf.phase.Phase;
+import org.apache.cxf.service.model.BindingMessageInfo;
+import org.apache.cxf.service.model.BindingOperationInfo;
 import org.apache.cxf.ws.addressing.AddressingProperties;
 import org.apache.servicemix.cxfbc.WSAUtils;
+import org.apache.servicemix.jbi.jaxp.SourceTransformer;
+import org.apache.servicemix.soap.interceptors.jbi.JbiConstants;
+import org.apache.servicemix.soap.util.DomUtil;
 import org.apache.servicemix.soap.util.QNameUtil;
 
+
 public class JbiOutInterceptor extends AbstractPhaseInterceptor<Message> {
 
     public JbiOutInterceptor() {
@@ -50,6 +63,82 @@
         NormalizedMessage nm = me.getMessage("in");
         fromNMSAttachments(message, nm);
         fromNMSHeaders(message, nm);
+        extractHeaderFromMessagePart(message);
+    }
+
+    private void extractHeaderFromMessagePart(Message message) {
+        Source source = message.getContent(Source.class);
+        if (source == null) {
+            return;
+        }
+
+        Element element;
+        try {
+            element = new SourceTransformer().toDOMElement(source);
+        } catch (Exception e) {
+            throw new Fault(e);
+        }
+
+        if (!JbiConstants.WSDL11_WRAPPER_NAMESPACE.equals(element
+                .getNamespaceURI())
+                || !JbiConstants.WSDL11_WRAPPER_MESSAGE_LOCALNAME
+                        .equals(element.getLocalName())) {
+            message.setContent(Source.class, new DOMSource(element));
+            return;
+        }
+
+        BindingOperationInfo bop = message.getExchange().get(
+                BindingOperationInfo.class);
+        BindingMessageInfo msg = isRequestor(message) ? bop.getInput() : bop
+                .getOutput();
+
+        SoapBindingInfo binding = (SoapBindingInfo) message.getExchange().get(
+                Endpoint.class).getEndpointInfo().getBinding();
+        String style = binding.getStyle(bop.getOperationInfo());
+        if (style == null) {
+            style = binding.getStyle();
+        }
+
+        Element partWrapper = DomUtil.getFirstChildElement(element);
+        while (partWrapper != null) {
+            extractHeaderParts((SoapMessage) message, element, partWrapper, msg);
+            partWrapper = DomUtil.getNextSiblingElement(partWrapper);
+        }
+        message.setContent(Source.class, new DOMSource(element));
+    }
+
+    private void extractHeaderParts(SoapMessage message,
+            Element element, Element partWrapper, BindingMessageInfo msg) {
+        List<NodeList> partsContent = new ArrayList<NodeList>();
+        if (partWrapper != null) {
+            if (!JbiConstants.WSDL11_WRAPPER_NAMESPACE.equals(element
+                    .getNamespaceURI())
+                    || !JbiConstants.WSDL11_WRAPPER_PART_LOCALNAME
+                            .equals(partWrapper.getLocalName())) {
+                throw new Fault(new Exception(
+                        "Unexpected part wrapper element '"
+                                + QNameUtil.toString(element) + "' expected '{"
+                                + JbiConstants.WSDL11_WRAPPER_NAMESPACE
+                                + "}part'"));
+            }
+            NodeList nodes = partWrapper.getChildNodes();
+            partsContent.add(nodes);
+        }
+
+        List<Header> headerList = message.getHeaders();
+        List<SoapHeaderInfo> headers = msg.getExtensors(SoapHeaderInfo.class);
+        for (SoapHeaderInfo header : headers) {
+            NodeList nl = partsContent.get(0);
+            if (header.getPart().getConcreteName().getNamespaceURI().equals(
+                    nl.item(0).getNamespaceURI())
+                    && header.getPart().getConcreteName().getLocalPart()
+                            .equals(nl.item(0).getLocalName())) {
+                headerList.add(new Header(header.getPart().getConcreteName(),
+                        nl.item(0)));
+                partsContent.remove(0);
+            }
+
+        }
 
     }
 
@@ -105,9 +194,14 @@
                         headerList.add(header);
                     }
 
-                } 
+                }
             }
         }
     }
 
+    private boolean isRequestor(org.apache.cxf.message.Message message) {
+        return Boolean.TRUE.equals(message
+                .containsKey(org.apache.cxf.message.Message.REQUESTOR_ROLE));
+    }
+
 }

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java?rev=652450&r1=652449&r2=652450&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutWsdl1Interceptor.java Thu May  1 00:51:56 2008
@@ -34,6 +34,7 @@
 import org.apache.cxf.binding.soap.model.SoapBindingInfo;
 import org.apache.cxf.binding.soap.model.SoapHeaderInfo;
 import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.headers.Header;
 import org.apache.cxf.helpers.NSStack;
 import org.apache.cxf.interceptor.Fault;
 import org.apache.cxf.message.Message;
@@ -193,13 +194,17 @@
             partsContent.add(nodes);
         }
             
+        List<Header> headerList = message.getHeaders();
         List<SoapHeaderInfo> headers = msg.getExtensors(SoapHeaderInfo.class);
         for (SoapHeaderInfo header : headers) {
-            NodeList nl = partsContent.get(header.getPart().getIndex());
-            Element headerElement = message.get(Element.class);
-            for (int i = 0; i < nl.getLength(); i++) {
-                headerElement.appendChild(nl.item(i));
+            NodeList nl = partsContent.get(0);
+            if (header.getPart().getConcreteName().getNamespaceURI().equals(nl.item(0).getNamespaceURI())
+                    && header.getPart().getConcreteName().getLocalPart().equals(nl.item(0).getLocalName())) {
+                headerList.add(new Header(header.getPart().getConcreteName(),
+                        nl.item(0)));
+                partsContent.remove(0);
             }
+                       
         }
         
         return partsContent;

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java?rev=652450&r1=652449&r2=652450&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderTest.java Thu May  1 00:51:56 2008
@@ -42,6 +42,8 @@
 import org.apache.xbean.spring.context.ClassPathXmlApplicationContext;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 
+import uri.helloworld.HelloPortType;
+
 public class CxfBcProviderTest extends SpringTestSupport {
 
     private static final Logger LOG = LogUtils.getL7dLogger(org.apache.servicemix.cxfbc.CxfBcProviderTest.class);
@@ -143,6 +145,37 @@
         assertTrue(new SourceTransformer().contentToString(
                 io.getOutMessage()).indexOf("Hello oneway test oneway") >= 0);
         
+        factory = new JaxWsServerFactoryBean();
+        factory.setServiceClass(HelloPortType.class);
+        factory.setServiceBean(new HelloPortTypeImpl());
+        address = "http://localhost:9003/helloWorld";
+        factory.setAddress(address);
+        server = factory.create();
+        endpoint = server.getEndpoint();
+        endpoint.getInInterceptors().add(new LoggingInInterceptor());
+        endpoint.getOutInterceptors().add(new LoggingOutInterceptor());
+        service = endpoint.getEndpointInfo().getService();
+        assertNotNull(service);
+        
+        
+        
+        //test soap header using helloworld
+        io = client.createInOutExchange();
+        io.setService(new QName("http://apache.org/hello_world_soap_http", "SOAPServiceProvider"));
+        io.setInterfaceName(new QName("http://apache.org/hello_world_soap_http", "Greeter"));
+        io.setOperation(new QName("http://apache.org/hello_world_soap_http", "greetMe"));
+        io.getInMessage().setContent(new StringSource(
+            "<message xmlns='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'>"
+            + "<part> "
+            + "<greetMe xmlns='http://apache.org/hello_world_soap_http/types'><requestType>"
+            + "header test"
+            + "</requestType></greetMe>"
+            + "</part> "
+            + "</message>"));
+        client.sendSync(io);
+        assertTrue(new SourceTransformer().contentToString(
+            io.getOutMessage()).indexOf("Hello header test 12345") >= 0);
+        
         //test concurrency
         io = client.createInOutExchange();
         io.setService(new QName("http://apache.org/hello_world_soap_http", "SOAPServiceProvider"));

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java?rev=652450&r1=652449&r2=652450&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java Thu May  1 00:51:56 2008
@@ -34,7 +34,10 @@
 import org.apache.hello_world_soap_http.types.SayHiResponse;
 import org.apache.hello_world_soap_http.types.TestDocLitFaultResponse;
 import org.apache.hello_world_soap_http.types.TestNillableResponse;
-
+import uri.helloworld.HelloFault_Exception;
+import uri.helloworld.HelloHeader;
+import uri.helloworld.HelloPortType;
+import uri.helloworld.HelloRequest;
 
 @WebService(serviceName = "SOAPServiceProvider", 
         portName = "SoapPort", 
@@ -46,9 +49,11 @@
     private CalculatorPortType calculator;
     private Greeter greeter;
     private Greeter securityGreeter;
+    private HelloPortType hello;
+
     public String greetMe(String me) {
         String ret = "";
-        
+
         try {
             if ("ffang".equals(me)) {
                 ret = ret + getCalculator().add(1, 2);
@@ -57,6 +62,13 @@
             } else if ("oneway test".equals(me)) {
                 getGreeter().greetMeOneWay("oneway");
                 ret = "oneway";
+            } else if ("header test".equals(me)) { 
+                HelloRequest req = new HelloRequest();
+                req.setText("12");
+                HelloHeader header = new HelloHeader();
+                header.setId("345");
+                ret = ret + hello.hello(req, header).getText();
+            
             } else if ("https test".equals(me)) {
                 ret = ret + securityGreeter.greetMe("ffang");
             } else if ("concurrency test".equals(me)) {
@@ -81,6 +93,8 @@
         } catch (AddNumbersFault e) {
             //should catch exception here if negative number is passed
             ret = ret + e.getFaultInfo().getMessage();
+        } catch (HelloFault_Exception e) {
+            ret = ret + e.getFaultInfo().getId();
         } catch (InterruptedException e) {
             //
         }
@@ -116,6 +130,14 @@
         return greeter;
     }
 
+    public void setHello(HelloPortType hello) {
+        this.hello = hello;
+    }
+
+    public HelloPortType getHello() {
+        return hello;
+    }
+
     public void setSecurityGreeter(Greeter securityGreeter) {
         this.securityGreeter = securityGreeter;
     }

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider.xml
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider.xml?rev=652450&r1=652449&r2=652450&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider.xml (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider.xml Thu May  1 00:51:56 2008
@@ -21,54 +21,75 @@
        xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
        xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
        xmlns:test="urn:test"
+       xmlns:hello="uri:HelloWorld"
        xmlns:calculator="http://apache.org/cxf/calculator"
        xmlns:greeter="http://apache.org/hello_world_soap_http">
-  
-  <sm:container id="jbi" embedded="true">
-    
-    <sm:endpoints>
-      
-      <cxfbc:provider wsdl="/wsdl/calculator.wsdl"
-                      locationURI="http://localhost:9001/providertest"
-                      endpoint="CalculatorPort"
-                      service="calculator:CalculatorService"
-                      interfaceName="calculator:CalculatorPortType"
-                      >
-        <cxfbc:inInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
-        </cxfbc:inInterceptors>
-        <cxfbc:outInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
-        </cxfbc:outInterceptors>
-        <cxfbc:inFaultInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
-        </cxfbc:inFaultInterceptors>
-        <cxfbc:outFaultInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
-        </cxfbc:outFaultInterceptors>
-      </cxfbc:provider>
-
-    <cxfbc:provider wsdl="/wsdl/hello_world.wsdl"
-                      locationURI="http://localhost:9002/providertest_oneway"
-                      endpoint="SoapPort"
-                      service="greeter:SOAPService"
-                      interfaceName="greeter:Greeter"
-                      >
-        <cxfbc:inInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
-        </cxfbc:inInterceptors>
-        <cxfbc:outInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
-        </cxfbc:outInterceptors>
-        <cxfbc:inFaultInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
-        </cxfbc:inFaultInterceptors>
-        <cxfbc:outFaultInterceptors>
-          <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
-        </cxfbc:outFaultInterceptors>
-      </cxfbc:provider>
-    </sm:endpoints>
-    
-  </sm:container>
-  
+
+    <sm:container id="jbi" embedded="true">
+
+        <sm:endpoints>
+
+            <cxfbc:provider wsdl="/wsdl/calculator.wsdl"
+                            locationURI="http://localhost:9001/providertest"
+                            endpoint="CalculatorPort"
+                            service="calculator:CalculatorService"
+                            interfaceName="calculator:CalculatorPortType"
+                    >
+                <cxfbc:inInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+                </cxfbc:inInterceptors>
+                <cxfbc:outInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+                </cxfbc:outInterceptors>
+                <cxfbc:inFaultInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+                </cxfbc:inFaultInterceptors>
+                <cxfbc:outFaultInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+                </cxfbc:outFaultInterceptors>
+            </cxfbc:provider>
+
+            <cxfbc:provider wsdl="/wsdl/hello_world.wsdl"
+                            locationURI="http://localhost:9002/providertest_oneway"
+                            endpoint="SoapPort"
+                            service="greeter:SOAPService"
+                            interfaceName="greeter:Greeter"
+                    >
+                <cxfbc:inInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+                </cxfbc:inInterceptors>
+                <cxfbc:outInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+                </cxfbc:outInterceptors>
+                <cxfbc:inFaultInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+                </cxfbc:inFaultInterceptors>
+                <cxfbc:outFaultInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+                </cxfbc:outFaultInterceptors>
+            </cxfbc:provider>
+
+            <cxfbc:provider wsdl="/HelloWorld-DOC.wsdl"
+                            locationURI="http://localhost:9003/helloWorld"
+                            endpoint="HelloPortProxy"
+                            service="hello:HelloService"
+                            interfaceName="hello:HelloPortType"
+                    >
+                <cxfbc:inInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+                </cxfbc:inInterceptors>
+                <cxfbc:outInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+                </cxfbc:outInterceptors>
+                <cxfbc:inFaultInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
+                </cxfbc:inFaultInterceptors>
+                <cxfbc:outFaultInterceptors>
+                    <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
+                </cxfbc:outFaultInterceptors>
+            </cxfbc:provider>
+        </sm:endpoints>
+
+    </sm:container>
+
 </beans>

Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml?rev=652450&r1=652449&r2=652450&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml Thu May  1 00:51:56 2008
@@ -21,19 +21,23 @@
        xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"
        xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
        xmlns:test="urn:test"
+       xmlns:hello="uri:HelloWorld"
        xmlns:calculator="http://apache.org/cxf/calculator"
        xmlns:greeter="http://apache.org/hello_world_soap_http">
   
     
       <cxfse:endpoint>
-        <cxfse:pojo>
+        <cxfse:pojo >
           <bean class="org.apache.servicemix.cxfbc.GreeterImplForProvider">
               <property name="calculator">
-                  <cxfse:proxy service="calculator:CalculatorService" context="#context" type="org.apache.cxf.calculator.CalculatorPortType" />
+                  <cxfse:proxy service="calculator:CalculatorService" context="#context" type="org.apache.cxf.calculator.CalculatorPortType"/>
               </property>
               <property name="greeter">
-                  <cxfse:proxy service="greetr:SOAPService" context="#context" type="org.apache.hello_world_soap_http.Greeter" />
+                  <cxfse:proxy service="greetr:SOAPService" context="#context" type="org.apache.hello_world_soap_http.Greeter"/>
               </property>
+              <property name="hello">
+                  <cxfse:proxy service="hello:HelloService" context="#context" type="uri.helloworld.HelloPortType"/>
+              </property>              
           </bean>
               
         </cxfse:pojo>