cxf-bc -> smx-bean -> cxf-se I wonder whether this receive soap message of client and return to them does anybody know it?
-----------cxfbc ws_t02.wsdl-------------- <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions name="HelloImplService" targetNamespace="http://ws.demo/" xmlns:tns="http://ws.demo/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ws.demo/" elementFormDefault="unqualified" targetNamespace="http://ws.demo/" version="1.0"> ...(omit) <wsdl:service name="HelloImplService"> <wsdl:port name="HelloImplPort" binding="tns:HelloImplServiceSoapBinding"> <soap:address location="http://localhost:9090/HelloImplPort"/> </wsdl:port> </wsdl:service> </wsdl:definitions> sic wrote: > > I'm cxf component testing in Servicemix 3.3.1, Windows XP. > As a example of cxf-wsdl-first, it's quite simple that > client -> cxf-bc -> cxf-se > and cxf-se returns response message to the webservice client. > It´s an easy task. > > By the way, I wanna add other service(or services) to this structure (e.g. > sm-bean - disposing of business) > so I changed this as following > Webservice client -> cxf-bc -> eip(static routing slip) -> sm-bean > > > -> cxf-se > > The client is soupUI 3.0.1 and send soap message based on the WSDL in > cxf-bc. > In this case, is it impossible that sm-bean receives message from cxf-bc > and sends transformed message > to the cxf-se? or is there better way to operate this logic? > sm-bean code, xbean configuration and result logs are like this > > -----------cxfbc xbean.xml----------------- > <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0" > xmlns:demows="http://ws.demo/"> > <cxfbc:consumer wsdl="classpath:ws_t02.wsdl" > targetService="demows:route-slip" > targetEndpoint="static-routing-slip" > useJBIWrapper="true" > > > <cxfbc:inInterceptors > ...(default interceptor) > /> > </cxfbc:consumer> > ----------eip:static-routing-slip xbean.xml-------------- > <beans xmlns:eip="http://servicemix.apache.org/eip/1.0" > xmlns:demows="http://ws.demo/" > xmlns:testws="http://ws.test/" >> > > <eip:static-routing-slip service="demows:route-slip" > endpoint="static-routing-slip"> > <eip:targets> > <eip:exchange-target service="demows:test-bean-su"/> > <eip:exchange-target service="testws:HelloImplService" > endpoint="HelloImplPort" operation="testws:sayHello"/> > </eip:targets> > </eip:static-routing-slip> > </beans> > ---------sm-bean(demows:test-bean-su) onMessageExchange > code--------------------- > public class TestBean implements MessageExchangeListener { > > private DeliveryChannel channel; > > public void onMessageExchange(MessageExchange exchange) throws > MessagingException { > > SourceTransformer st = new SourceTransformer(); > NormalizedMessage inMessage = exchange.getMessage("in"); > String indata = st.contentToString(inMessage); > NormalizedMessage out = exchange.createMessage(); > // suppose that this xml is return message after disposing > business > String retData = "<?xml version=\"1.0\" ?>\n" > + "<root>qwer</root>\r\n"; > out.setContent(new StringSource(retData)); > exchange.setMessage(out, "out"); > channel.send(exchange); > } > } > ----------cxfse xbean.xml--------------------- > <beans xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0"> > <cxfse:endpoint useJBIWrapper="false" useSOAPEnvelope="false"> > <cxfse:pojo> > <bean class="test.ws.HelloImpl" /> > </cxfse:pojo> > <cxfse:inInterceptors > ...(default interceptor) > /> > </cxfse:endpoint> > </beans> > ----------cxfse test.ws.HelloImpl------------------ > @WebService > public class HelloImpl { > > public String sayHello(String name) { > return "HI ~~ " + name; > } > } > --------------Logs--------------------------------- > INFO - LoggingInInterceptor - Inbound Message > ---------------------------- > Encoding: UTF-8 > Headers: {Content-Length=[287], Host=[10.1.3.28:9090], User-Agent=[Jakarta > Commons-HttpClient/3.1], > accept-encoding=[gzip,deflate], SOAPAction=[""], > content-type=[text/xml;charset=UTF-8]} > Messages: > Message: > > Payload: <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http: > //ws.test/"> > <soapenv:Header/> > <soapenv:Body> > <ws:sayHello> > <!--Optional:--> > <arg0>1234qwer</arg0> > </ws:sayHello> > </soapenv:Body> > </soapenv:Envelope> > -------------------------------------- > INFO - JBITransportFactory - configuring DeliveryChannel: > org.apache.servicemix.common > .endpointdeliverychan...@1ccf0ad > INFO - PhaseInterceptorChain - Interceptor has thrown exception, > unwinding now Message par > t root was not recognized. (Does it exist in service WSDL?) > INFO - LoggingOutInterceptor - Outbound Message > --------------------------- > Encoding: UTF-8 > Headers: > Messages: > Payload: <ns1:Fault > xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>ns1:Client</fau > ltcode><faultstring>Message part root was not recognized. (Does it exist > in service WSDL?)</faultst > ring></ns1:Fault> > -------------------------------------- > WARN - SimpleEndpoint - SimpleEndpoint.fail called: > INFO - PhaseInterceptorChain - Interceptor has thrown exception, > unwinding now Message par > t root was not recognized. (Does it exist in service WSDL?) > INFO - LoggingOutInterceptor - Outbound Message > --------------------------- > Encoding: UTF-8 > Headers: {} > Messages: > Payload: <soap:Envelope > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Faul > t><faultcode>soap:Server</faultcode><faultstring>Message part root was not > recognized. (Does it exi > st in service > WSDL?)</faultstring></soap:Fault></soap:Body></soap:Envelope> > -------------------------------------- > > Additionally I think that the next best way is > Webservice client -> cxf-bc -> eip(static routing slip) -> sm-bean > I wonder if sm-bean receives message from cxf-bc and return response > messages to the client using a cxf-bc interceptor. > -- View this message in context: http://www.nabble.com/Question-about-cxf-bc-and-cxf-se-with-sm-bean-tp25467617p25483317.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
