Hi,
As I said before, I need the component version that you use.
Be careful about your namespace definition. In a endpoint a
service/targetService is a qname. It means that you need a namespace.
In your case, you should have something like:
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
xmlns:example="http://www.example.org">
<http:soap-consumer service="example:MerchantService"
endpoint="soap-consumer"
targetService="example:MerchantService"
targetEndpoint="soap-provider"
locationUri="http://0.0.0.0:8192/MerchantService/"/>
<http:soap-provider service="example:MerchantService"
endpoint="soap-provider"
wsdl="classpath:merchantservice.wsdl"/>
</beans>
Could you send the complete stack trace ?
Thanks
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
--
Jean-Baptiste Onofré (Nanthrax)
BuildProcess/AutoDeploy Project Leader
http://buildprocess.sourceforge.net
[email protected]
PGP : 17D4F086