Hi,

which SMX/component version do you use ?

PS: please post this kind of message on the user mailing list.

Regards
JB

ajain wrote:
Hi JB,
I am doing something like below but servicemix is saying MerchantService not
found in wsdl, infact its there.

<beans xmlns:http="http://servicemix.apache.org/http/1.0";

  <http:soap-consumer service="MerchantService"
               endpoint="soap"
               targetService="MerchantService"
               targetEndpoint="MerchantServiceSoap"
locationURI="http://0.0.0.0:8192/MerchantService/"; /> <http:soap-provider service="MerchantService"
                    endpoint="MerchantServiceSoap"
                    locationURI="http://localhost/merchantService.php";
                    wsdl="classpath:merchantservice.wsdl"/>
</beans>

Thanks,
Ashish


Jean-Baptiste Onofre wrote:
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