You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Sivaramakrishnan Ganesh <Si...@infosys.com> on 2010/07/26 13:33:16 UTC

Calling external webservice

Hi,
I am using Servicemix v 3.3.1. All I need to do is access a webservice hosted in tomcat via the servicemix ESB.
I need to do this without writing a single line of code for the ESB, i.e. with xbean.xmls of existing JBIs.
I did this:
1)            Created a servicemix-http consumer to accept soap requests via the client.html (present in a tutorial).
2)            Created a servicemix-cxf-bc provider to the webservice hosted elsewhere.

The idea is http+soap message-> http-consumer BC->NMR->cxf-bc provider->Mywebservice (in elsewhere).
Is this flow correct? Also please find below the contents of XML, I keep getting errors, kindly help, and forgive dumb mistakes!

Warning: I am very new to servicemix! Relatively new to ESB concepts! Don't ask me why I am here! Please welcome me with open hands :)

HTTP-CONSUMER-XBEAN:
<beans xmlns:http="http://servicemix.apache.org/http/1.0" xmlns:tns="http://server.fromjava/">
  <http:endpoint
                service="tns:externalService"
                endpoint="soap"
                targetService="tns:AddNumbersImplService"
                targetEndpoint="AddNumbersImplService"
                role="consumer"
                locationURI="http://0.0.0.0:8192/externalService/"
                defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
                soap="true" />
  </beans>

CXF-BC-PROVIDER-XBEAN:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0" xmlns:tns="http://server.fromjava/">
  <cxfbc:provider
   wsdl="classpath:addnumbers.wsdl"
   locationURI="http://localhost:8080/jaxws-fromjava/addnumbers/"
   service="tns:AddNumbersImplService"
   endpoint="AddNumbersImplService" />
</beans>


Thanks

Re: Calling external webservice

Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,

yes your workflow is correct.

Just a tip, I advise to use "new" HTTP endpoint :
<http:soap-consumer service="" endpoint="" targetService="" 
targetEndpoint="" locationURI=""/>

Regards
JB

On 07/26/2010 01:33 PM, Sivaramakrishnan Ganesh wrote:
> Hi,
> I am using Servicemix v 3.3.1. All I need to do is access a webservice hosted in tomcat via the servicemix ESB.
> I need to do this without writing a single line of code for the ESB, i.e. with xbean.xmls of existing JBIs.
> I did this:
> 1)            Created a servicemix-http consumer to accept soap requests via the client.html (present in a tutorial).
> 2)            Created a servicemix-cxf-bc provider to the webservice hosted elsewhere.
>
> The idea is http+soap message->  http-consumer BC->NMR->cxf-bc provider->Mywebservice (in elsewhere).
> Is this flow correct? Also please find below the contents of XML, I keep getting errors, kindly help, and forgive dumb mistakes!
>
> Warning: I am very new to servicemix! Relatively new to ESB concepts! Don't ask me why I am here! Please welcome me with open hands :)
>
> HTTP-CONSUMER-XBEAN:
> <beans xmlns:http="http://servicemix.apache.org/http/1.0" xmlns:tns="http://server.fromjava/">
>    <http:endpoint
>                  service="tns:externalService"
>                  endpoint="soap"
>                  targetService="tns:AddNumbersImplService"
>                  targetEndpoint="AddNumbersImplService"
>                  role="consumer"
>                  locationURI="http://0.0.0.0:8192/externalService/"
>                  defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>                  soap="true" />
>    </beans>
>
> CXF-BC-PROVIDER-XBEAN:
> <?xml version="1.0" encoding="UTF-8" ?>
> <beans xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0" xmlns:tns="http://server.fromjava/">
>    <cxfbc:provider
>     wsdl="classpath:addnumbers.wsdl"
>     locationURI="http://localhost:8080/jaxws-fromjava/addnumbers/"
>     service="tns:AddNumbersImplService"
>     endpoint="AddNumbersImplService" />
> </beans>
>
>
> Thanks
>