Hi,

Your cxfbc consumer and provider endpoint configuration mismatch,
The provider is
                   useJBIWrapper="false"
                   useSOAPEnvelope="true"
The consumer is
                   useJBIWrapper="false"
                   useSOAPEnvelope="false"

You should keep those same.

Freeman
On 2012-1-5, at 下午9:01, Rafal Janik wrote:

Hi,

I've got a problem with double <soap:Envelope> and <soap:Body> tags in my cxf bc component. The idea of my my sa is to translate a message from one soap format to another.
The cxfbc configuration:

<cxfbc:provider wsdl="classpath:service_v1.wsdl"
                   locationURI="http://localhost:8080/my-ws/ws";
                   interfaceName="aaa:ImplPort2"
                   service="aaa:myService"
                   endpoint="ImplPort"
                   useJBIWrapper="false"
                   useSOAPEnvelope="true">
</cxfbc:provider>


<cxfbc:consumer wsdl="classpath:service_v2.wsdl"
                   targetService="test:AdapterService"
                   targetEndpoint="myEndpoint"
                   useJBIWrapper="false"
                   useSOAPEnvelope="false"
locationURI="https://0.0.0.0:8190/test/ testService/"
                   busCfg="ssl.xml">
</cxfbc:consumer>


Then I use camel and processors to translate the message:


from("jbi:endpoint:http://test.pl/test/RoleAnalyzerAdapterService/RoleAnalyzerEndpoint ")
               .to("log:entrance")
               .choice()
               .when(xpath(PROPER_METHOD_INVOKED)))
               .process(new MyTranslator())
               .to("jbi:endpoint:{cxf-bc-provider_endpoint}")
               .otherwise()
               .to("log:wrong_request")
               .setBody(constant(SoapResponseMessages.WRONG_METHOD));


and as a result I get almost good soap (but packed again in soap:Envelope/soap:Body):

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
<soap:Body>
<soap:Envelope>
<soap:Body>
<!--response here  -->
</soap:Body>
</soap:Envelope>
</soap:Body>
</soap:Envelope>


Am I doing something wrong, maybe the component should be configured in other way or should I use a processor for getting the body from response and then send it back?

apache-servicemix 3.6.0-fuse-00-35





---------------------------------------------
Freeman Fang

FuseSource
Email:[email protected]
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com









Reply via email to