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