Hi,

in fact, it's already the case. The SOAP provider can get the WSDL for the locationURI or you can define it directly in the endpoint using the wsdl attribute like this:

<http:soap-provider service="my:Facade" endpoint="service1" wsdl="classpath:/my.wsdl"/>

The provider endpoint will register the WSDL in its descriptor.

As the provider endpoint "exposes" the WSDL in its descriptor, and, as the soap-consumer as the provider endpoint as targetService/targetEndpoint, the consumer endpoint will "proxy" the WSDL and expose it.

So finally your clients will be able to see a WSDL exposed by the soap consumer, this WSDL is proxied from the external WebService using the soap-provider endpoint.

Is it clear ?

Regards
JB

ajain wrote:
 Thanks Jean. Will it be possible to download the wsdl using the consumer
service?

Jean-Baptiste Onofre wrote:
Hi,

First, you need to plug your WebService into SMX. To do it, you can use HTTP or CXF-BC endpoint in provider mode. These endpoints will route the SMX incoming message to your "external" WebService.

For exemple, you can setup a HTTP provider like this:

<http:soap-provider service="my:Facade" endpoint="service1" locationURI="http://your.webservice.uri"/>

After your can "facade" these endpoints with another one. This time, the endpoint is a consumer that waiting for incoming SOAP envelop, will transform it in normalized message and route it to your provider endpoint.

For example:

<http:soap-consumer service="my:Facade" endpoint="listener1" targetService="my:Facade" targetEndpoint="service1" locationURI="http://0.0.0.0:8181/services/service1"/>

Like this, ServiceMix is going to listen incoming SOAP messages on the 8181 port, and route it to your WebService with a transit via the NMR using NormalizedMessage.

I hope it can help you.

Regards
JB

ajain wrote:
I am new to ServiceMix so need your help to find the process to achieve
my
business scanario as given below:-

I have no. of webservices which are written in different technologies
like
java, .Net, php and they have respective clients. I want to use
ServiceMixESB to create a layer in between the services and the client so
that any client can talk to any service but they would not come to know
about the actual services.

I would like to know the servicemix component to use to achieve the
above.

Thanks,
Ashish
--
Jean-Baptiste Onofré (Nanthrax)
BuildProcess/AutoDeploy Project Leader
http://buildprocess.sourceforge.net
[email protected]
PGP : 17D4F086




--
Jean-Baptiste Onofré
---------------------------------
 HomePage
http://www.nanthrax.net
---------------------------------
 Contacts
[email protected]
[email protected]
---------------------------------
 OpenSource
BuildProcess/AutoDeploy
http://buildprocess.sourceforge.net
Apache ServiceMix
http://servicemix.apache.org
-----------------------------------
PGP : 17D4F086

Reply via email to