soap - Consuming a JAX-WS in a Mule ESB flow -


i want consume jax-ws service method. methode named find , accept string argument.

this mule flow :

<flow name="invokeawebserviceflow1" doc:name="invokeawebserviceflow1">     <file:inbound-endpoint path="c:\mulestudio\sandbox\input" pollingfrequency="3000" responsetimeout="10000" doc:name="file"/>     <file:file-to-string-transformer encoding="utf-8" mimetype="text/xml" doc:name="file string"/>     <cxf:jaxws-client port="douanewsport"   serviceclass="wsdl.douanews" doc:name="soap" enablemulesoapheaders="true" operation="find"/>     <echo-component doc:name="echo"/>     <file:outbound-endpoint path="c:\mulestudio\sandbox\output" outputpattern="#[function:datestamp:dd-mm-yy]_#[function:systime].xml" responsetimeout="10000" doc:name="file"/> </flow> 

i put argument file, in exampl argument "ctr1" after put file inbound endpoint, after file transformed string , goes jax-ws client, respponse written output file.

when run flow output :

<soap:envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:body>  <ns2:find xmlns:ns2="http://douane.ws/">   <id>ctr1</id>  </ns2:find> </soap:body> </soap:envelope> 

the output soap request instead of expected soap response, should somthing like:

<s:envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">    <s:body>       <ns2:findresponse xmlns:ns2="http://douane.ws/">          <return>             <quality>medium</quality>             <price>150</price>             <idprod>ctr1</idprod>          </return>       </ns2:findresponse>    </s:body> </s:envelope 

> .

the error generate

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + started app 'invokeawebservice'                          + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ info  2013-05-14 11:13:15,024 [[invokeawebservice].connector.file.mule.default.receiver.01] org.mule.transport.file.filemessagereceiver: lock obtained on file: c:\mulestudio\sandbox\input\input.txt info  2013-05-14 11:13:15,155 [[invokeawebservice].invokeawebserviceflow1.stage1.02] org.mule.component.simple.logcomponent:  ******************************************************************************** * message received in service: invokeawebserviceflow1. content is:             * * '<soap:envelope                                                              * * xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:body><ns2:find  * * xmlns:ns2...[100 of 173]'                                                    * ******************************************************************************** info  2013-05-14 11:13:15,184 [[invokeawebservice].connector.file.mule.default.dispatcher.01] org.mule.lifecycle.abstractlifecyclemanager: initialising: 'connector.file.mule.default.dispatcher.2917880'. object is: filemessagedispatcher info  2013-05-14 11:13:15,184 [[invokeawebservice].connector.file.mule.default.dispatcher.01] org.mule.lifecycle.abstractlifecyclemanager: starting: 'connector.file.mule.default.dispatcher.2917880'. object is: filemessagedispatcher info  2013-05-14 11:13:15,200 [[invokeawebservice].connector.file.mule.default.dispatcher.01] org.mule.transport.file.fileconnector: writing file to: c:\mulestudio\sandbox\output\14-05-13_1368522795199.xml warn  2013-05-14 11:13:15,261 [[invokeawebservice].invokeawebserviceflow1.stage1.02] org.apache.cxf.phase.phaseinterceptorchain: interceptor {http://douane.ws/}douanewsservice#{http://douane.ws/}find has thrown exception, unwinding org.apache.cxf.interceptor.fault: unexpected wrapper element {http://douane.ws/}find found.   expected {http://douane.ws/}findresponse.     @ org.apache.cxf.interceptor.docliteralininterceptor.handlemessage(docliteralininterceptor.java:106)     @ org.apache.cxf.phase.phaseinterceptorchain.dointercept(phaseinterceptorchain.java:263)     @ org.apache.cxf.endpoint.clientimpl.onmessage(clientimpl.java:799)     @ org.mule.module.cxf.transport.muleuniversalconduit.dispatchmulemessage(muleuniversalconduit.java:280)     @ org.mule.module.cxf.transport.muleuniversalconduit$2.handlemessage(muleuniversalconduit.java:194)     @ org.apache.cxf.phase.phaseinterceptorchain.dointercept(phaseinterceptorchain.java:263)     @ org.apache.cxf.endpoint.clientimpl.doinvoke(clientimpl.java:533)     @ org.apache.cxf.endpoint.clientimpl.invoke(clientimpl.java:463)     @ org.apache.cxf.endpoint.clientimpl.invoke(clientimpl.java:375)     @ org.mule.module.cxf.cxfoutboundmessageprocessor.dosendwithclient(cxfoutboundmessageprocessor.java:235)     @ org.mule.module.cxf.cxfoutboundmessageprocessor.process(cxfoutboundmessageprocessor.java:125)     @ org.mule.execution.exceptiontomessagingexceptionexecutioninterceptor.execute(exceptiontomessagingexceptionexecutioninterceptor.java:27)     @ org.mule.execution.messageprocessornotificationexecutioninterceptor.execute(messageprocessornotificationexecutioninterceptor.java:61)     @ org.mule.execution.messageprocessorexecutiontemplate.execute(messageprocessorexecutiontemplate.java:47)     @ org.mule.processor.chain.defaultmessageprocessorchain.doprocess(defaultmessageprocessorchain.java:95)     @ org.mule.processor.chain.abstractmessageprocessorchain.process(abstractmessageprocessorchain.java:70)     @ org.mule.execution.exceptiontomessagingexceptionexecutioninterceptor.execute(exceptiontomessagingexceptionexecutioninterceptor.java:27)     @ org.mule.execution.messageprocessorexecutiontemplate.execute(messageprocessorexecutiontemplate.java:47)     @ org.mule.processor.abstractinterceptingmessageprocessorbase.processnext(abstractinterceptingmessageprocessorbase.java:106)     @ org.mule.interceptor.abstractenvelopeinterceptor.process(abstractenvelopeinterceptor.java:55)     @ org.mule.processor.asyncinterceptingmessageprocessor.processnexttimed(asyncinterceptingmessageprocessor.java:122)     @ org.mule.processor.asyncinterceptingmessageprocessor$asyncmessageprocessorworker$1.process(asyncinterceptingmessageprocessor.java:192)     @ org.mule.processor.asyncinterceptingmessageprocessor$asyncmessageprocessorworker$1.process(asyncinterceptingmessageprocessor.java:185)     @ org.mule.execution.executecallbackinterceptor.execute(executecallbackinterceptor.java:20)     @ org.mule.execution.handleexceptioninterceptor.execute(handleexceptioninterceptor.java:34)     @ org.mule.execution.handleexceptioninterceptor.execute(handleexceptioninterceptor.java:18)     @ org.mule.execution.beginandresolvetransactioninterceptor.execute(beginandresolvetransactioninterceptor.java:58)     @ org.mule.execution.resolveprevioustransactioninterceptor.execute(resolveprevioustransactioninterceptor.java:48)     @ org.mule.execution.suspendxatransactioninterceptor.execute(suspendxatransactioninterceptor.java:54)     @ org.mule.execution.validatetransactionalstateinterceptor.execute(validatetransactionalstateinterceptor.java:44)     @ org.mule.execution.isolatecurrenttransactioninterceptor.execute(isolatecurrenttransactioninterceptor.java:44)     @ org.mule.execution.externaltransactioninterceptor.execute(externaltransactioninterceptor.java:52)     @ org.mule.execution.rethrowexceptioninterceptor.execute(rethrowexceptioninterceptor.java:32)     @ org.mule.execution.rethrowexceptioninterceptor.execute(rethrowexceptioninterceptor.java:17)     @ org.mule.execution.transactionalerrorhandlingexecutiontemplate.execute(transactionalerrorhandlingexecutiontemplate.java:113)     @ org.mule.execution.transactionalerrorhandlingexecutiontemplate.execute(transactionalerrorhandlingexecutiontemplate.java:34)     @ org.mule.processor.asyncinterceptingmessageprocessor$asyncmessageprocessorworker.dorun(asyncinterceptingmessageprocessor.java:184)     @ org.mule.work.abstractmuleeventwork.run(abstractmuleeventwork.java:43)     @ org.mule.work.workercontext.run(workercontext.java:311)     @ java.util.concurrent.threadpoolexecutor.runworker(unknown source)     @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source)     @ java.lang.thread.run(unknown source) error 2013-05-14 11:13:15,271 [[invokeawebservice].invokeawebserviceflow1.stage1.02] org.mule.exception.defaultmessagingexceptionstrategy:  ******************************************************************************** message               : unexpected wrapper element {http://douane.ws/}find found.   expected {http://douane.ws/}findresponse.. failed route event via endpoint: org.mule.module.cxf.cxfoutboundmessageprocessor. message payload of type: string code                  : mule_error--2 -------------------------------------------------------------------------------- exception stack is: 1. unexpected wrapper element {http://douane.ws/}find found.   expected {http://douane.ws/}findresponse. (org.apache.cxf.interceptor.fault)   org.apache.cxf.interceptor.docliteralininterceptor:106 (null) 2. unexpected wrapper element {http://douane.ws/}find found.   expected {http://douane.ws/}findresponse.. failed route event via endpoint: org.mule.module.cxf.cxfoutboundmessageprocessor. message payload of type: string (org.mule.api.transport.dispatchexception)   org.mule.module.cxf.cxfoutboundmessageprocessor:144 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/dispatchexception.html) -------------------------------------------------------------------------------- root exception stack trace: org.apache.cxf.interceptor.fault: unexpected wrapper element {http://douane.ws/}find found.   expected {http://douane.ws/}findresponse.     @ org.apache.cxf.interceptor.docliteralininterceptor.handlemessage(docliteralininterceptor.java:106)     @ org.apache.cxf.phase.phaseinterceptorchain.dointercept(phaseinterceptorchain.java:263)     @ org.apache.cxf.endpoint.clientimpl.onmessage(clientimpl.java:799)     + 3 more (set debug level logging or '-dmule.verbose.exceptions=true' everything) ******************************************************************************** 

any ??

if webservice want consume hosted, let's @ http://domain.com/ws , configuration should this:

<flow name="invokeawebserviceflow1" doc:name="invokeawebserviceflow1"> <file:inbound-endpoint path="c:\mulestudio\sandbox\input" pollingfrequency="3000" responsetimeout="10000" doc:name="file"/> <file:file-to-string-transformer encoding="utf-8" mimetype="text/xml" doc:name="file string"/> <cxf:jaxws-client port="douanewsport"   serviceclass="wsdl.douanews" doc:name="soap" enablemulesoapheaders="true" operation="find"/> <http:outbound-endpoint address="http://domain.com/ws" /> <echo-component doc:name="echo"/> <file:outbound-endpoint path="c:\mulestudio\sandbox\output" outputpattern="#[function:datestamp:dd-mm-yy]_#[function:systime].xml" responsetimeout="10000" doc:name="file"/> </flow> 

you can find more informations on topic here


Comments

Popular posts from this blog

php - mySql Join with 4 tables -

css - Text drops down with smaller window -

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -