You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Milan Satala <mi...@gmail.com> on 2009/03/19 12:09:20 UTC
how to use http:soap-consumer and http:soap-provider with single
wsdl
I need servicemix to expose a webservice and route incoming messages to
actual provider. The problem is that both http:soap-consumer and
http:soap-provider forces me to use the same service and endpoint name as
the wsdl.
This naturally leads to following exception:
javax.jbi.management.DeploymentException: More than one endpoint found in
the SU for key:
{http://www.prolixproject.org/loes}LOEventService:LOEventServiceSoap
Is there a way to route messages using a single wsdl?
Here's my xbean.xml:
<http:soap-consumer service="loes:LOEventService"
endpoint="LOEventServiceSoap"
wsdl="classpath:LOEventService.wsdl"
locationURI="http://localhost:8193/loes/"
targetService="loes:LOEventService"
targetEndpoint="LOEventServiceSoap"
useJbiWrapper="true"
validateWsdl="false"
/>
<http:soap-provider service="loes:LOEventService"
locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
endpoint="LOEventServiceSoap"
wsdl="classpath:LOEventService.wsdl"
useJbiWrapper="true"
/>
--
View this message in context: http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22597992.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: how to use http:soap-consumer and http:soap-provider with
single wsdl
Posted by Milan Satala <mi...@gmail.com>.
Thank you for your suggestion. It didn't really solve my problem but it gave
me an idea for a workaround.
You suggested using two different endpoints but that means that the wsdl
would need to contain two different endpoints as well. We used "wsdl first"
and our wsdls contain just one endpoint. I don't really want to modify wsdls
at this point. However I can create another wsdl (e.g.
LOEventServiceProvider.wsdl) with a dummy endpoint and use it for
<http:soap-provider>.
It's not perfect but it works.
PS: If there was a better way to do this I'd be happy to learn about it.
Jean-Baptiste Onofré wrote:
>
> Hi,
>
> Can you try to setup like this :
>
> <http:soap-consumer service="loes:LOEventService"
> endpoint="consumer"
> wsdl="classpath:LOEventService.wsdl"
> locationURI="http://localhost:8193/loes/"
> targetService="loes:LOEventService"
> targetEndpoint="provider"
> useJbiWrapper="true"
> validateWsdl="false"/>
>
> <http:soap-provider service="loes:LOEventService"
> endpoint="provider"
>
> locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
> wsdl="classpath:LOEventService.wsdl"
> useJbiWrapper="true"/>
>
> With this configuration, all incoming soap envelopers to the consumer will
> be forwarded to the provider endpoint URI.
>
> Regards
> JB
>
> On Thursday 19 March 2009 - 04:09, Milan Satala wrote:
>>
>> I need servicemix to expose a webservice and route incoming messages to
>> actual provider. The problem is that both http:soap-consumer and
>> http:soap-provider forces me to use the same service and endpoint name as
>> the wsdl.
>> This naturally leads to following exception:
>> javax.jbi.management.DeploymentException: More than one endpoint found in
>> the SU for key:
>> {http://www.prolixproject.org/loes}LOEventService:LOEventServiceSoap
>>
>> Is there a way to route messages using a single wsdl?
>>
>> Here's my xbean.xml:
>> <http:soap-consumer service="loes:LOEventService"
>> endpoint="LOEventServiceSoap"
>> wsdl="classpath:LOEventService.wsdl"
>> locationURI="http://localhost:8193/loes/"
>> targetService="loes:LOEventService"
>> targetEndpoint="LOEventServiceSoap"
>> useJbiWrapper="true"
>> validateWsdl="false"
>> />
>>
>> <http:soap-provider service="loes:LOEventService"
>> locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
>> endpoint="LOEventServiceSoap"
>> wsdl="classpath:LOEventService.wsdl"
>> useJbiWrapper="true"
>> />
>> --
>> View this message in context:
>> http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22597992.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>
>
--
View this message in context: http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22637801.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: how to use http:soap-consumer and http:soap-provider with
single wsdl
Posted by jb...@nanthrax.net.
Hi,
Can you try to setup like this :
<http:soap-consumer service="loes:LOEventService"
endpoint="consumer"
wsdl="classpath:LOEventService.wsdl"
locationURI="http://localhost:8193/loes/"
targetService="loes:LOEventService"
targetEndpoint="provider"
useJbiWrapper="true"
validateWsdl="false"/>
<http:soap-provider service="loes:LOEventService"
endpoint="provider"
locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
wsdl="classpath:LOEventService.wsdl"
useJbiWrapper="true"/>
With this configuration, all incoming soap envelopers to the consumer will be forwarded to the provider endpoint URI.
Regards
JB
On Thursday 19 March 2009 - 04:09, Milan Satala wrote:
>
> I need servicemix to expose a webservice and route incoming messages to
> actual provider. The problem is that both http:soap-consumer and
> http:soap-provider forces me to use the same service and endpoint name as
> the wsdl.
> This naturally leads to following exception:
> javax.jbi.management.DeploymentException: More than one endpoint found in
> the SU for key:
> {http://www.prolixproject.org/loes}LOEventService:LOEventServiceSoap
>
> Is there a way to route messages using a single wsdl?
>
> Here's my xbean.xml:
> <http:soap-consumer service="loes:LOEventService"
> endpoint="LOEventServiceSoap"
> wsdl="classpath:LOEventService.wsdl"
> locationURI="http://localhost:8193/loes/"
> targetService="loes:LOEventService"
> targetEndpoint="LOEventServiceSoap"
> useJbiWrapper="true"
> validateWsdl="false"
> />
>
> <http:soap-provider service="loes:LOEventService"
> locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
> endpoint="LOEventServiceSoap"
> wsdl="classpath:LOEventService.wsdl"
> useJbiWrapper="true"
> />
> --
> View this message in context: http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22597992.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
Re: how to use http:soap-consumer and http:soap-provider with
single wsdl
Posted by Milan Satala <mi...@gmail.com>.
I've only tried this in a single SU. Unfortunately I ran into several other
problems when I deployed the SA to a servicemix running inside tomcat (this
configuration is used in our production server). I found two bugs in
http:soap-consumer and another one in http:endpoint when I tried to switch
to it. I'll be posting them to jira soon.
Back to the problem at hand. I have to provide a wsdl and both consumer and
provider need to have the same service and endpoint names as those stated in
the wsdl, otherwise I get an exception. If I use different service/endpoint
name I get another exception.
Gert Vanthienen wrote:
>
> Milan,
>
> If you're just using these two endpoints, you should be able to give
> them the same name. The provider endpoint is an internal endpoint,
> but the consumer endpoint is an external endpoint and it should be
> perfectly fine to have the two of them running at the same time in the
> container. Does the exception only occur if the two endpoints are in
> the same SU or do you have it all the time?
>
> Regards,
>
> Gert Vanthienen
> ------------------------
> Open Source SOA: http://fusesource.com
> Blog: http://gertvanthienen.blogspot.com/
>
>
>
> 2009/3/19 Milan Satala <mi...@gmail.com>:
>>
>> I need servicemix to expose a webservice and route incoming messages to
>> actual provider. The problem is that both http:soap-consumer and
>> http:soap-provider forces me to use the same service and endpoint name as
>> the wsdl.
>> This naturally leads to following exception:
>> javax.jbi.management.DeploymentException: More than one endpoint found in
>> the SU for key:
>> {http://www.prolixproject.org/loes}LOEventService:LOEventServiceSoap
>>
>> Is there a way to route messages using a single wsdl?
>>
>> Here's my xbean.xml:
>> <http:soap-consumer service="loes:LOEventService"
>> endpoint="LOEventServiceSoap"
>> wsdl="classpath:LOEventService.wsdl"
>> locationURI="http://localhost:8193/loes/"
>> targetService="loes:LOEventService"
>> targetEndpoint="LOEventServiceSoap"
>> useJbiWrapper="true"
>> validateWsdl="false"
>> />
>>
>> <http:soap-provider service="loes:LOEventService"
>>
>> locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
>> endpoint="LOEventServiceSoap"
>> wsdl="classpath:LOEventService.wsdl"
>> useJbiWrapper="true"
>> />
>> --
>> View this message in context:
>> http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22597992.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
>
>
> -----
> ---
> Gert Vanthienen
> http://gertvanthienen.blogspot.com
>
--
View this message in context: http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22663896.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: how to use http:soap-consumer and http:soap-provider with
single wsdl
Posted by northfuse <no...@gmail.com>.
I get this error when the two endpoints are in the same su. Any help would
be great. Thanks
Gert Vanthienen wrote:
>
> Milan,
>
> If you're just using these two endpoints, you should be able to give
> them the same name. The provider endpoint is an internal endpoint,
> but the consumer endpoint is an external endpoint and it should be
> perfectly fine to have the two of them running at the same time in the
> container. Does the exception only occur if the two endpoints are in
> the same SU or do you have it all the time?
>
> Regards,
>
> Gert Vanthienen
> ------------------------
> Open Source SOA: http://fusesource.com
> Blog: http://gertvanthienen.blogspot.com/
>
>
>
> 2009/3/19 Milan Satala <mi...@gmail.com>:
>>
>> I need servicemix to expose a webservice and route incoming messages to
>> actual provider. The problem is that both http:soap-consumer and
>> http:soap-provider forces me to use the same service and endpoint name as
>> the wsdl.
>> This naturally leads to following exception:
>> javax.jbi.management.DeploymentException: More than one endpoint found in
>> the SU for key:
>> {http://www.prolixproject.org/loes}LOEventService:LOEventServiceSoap
>>
>> Is there a way to route messages using a single wsdl?
>>
>> Here's my xbean.xml:
>> <http:soap-consumer service="loes:LOEventService"
>> endpoint="LOEventServiceSoap"
>> wsdl="classpath:LOEventService.wsdl"
>> locationURI="http://localhost:8193/loes/"
>> targetService="loes:LOEventService"
>> targetEndpoint="LOEventServiceSoap"
>> useJbiWrapper="true"
>> validateWsdl="false"
>> />
>>
>> <http:soap-provider service="loes:LOEventService"
>>
>> locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
>> endpoint="LOEventServiceSoap"
>> wsdl="classpath:LOEventService.wsdl"
>> useJbiWrapper="true"
>> />
>> --
>> View this message in context:
>> http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22597992.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
>
>
> -----
> ---
> Gert Vanthienen
> http://gertvanthienen.blogspot.com
>
--
View this message in context: http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22935375.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.
Re: how to use http:soap-consumer and http:soap-provider with single
wsdl
Posted by Gert Vanthienen <ge...@gmail.com>.
Milan,
If you're just using these two endpoints, you should be able to give
them the same name. The provider endpoint is an internal endpoint,
but the consumer endpoint is an external endpoint and it should be
perfectly fine to have the two of them running at the same time in the
container. Does the exception only occur if the two endpoints are in
the same SU or do you have it all the time?
Regards,
Gert Vanthienen
------------------------
Open Source SOA: http://fusesource.com
Blog: http://gertvanthienen.blogspot.com/
2009/3/19 Milan Satala <mi...@gmail.com>:
>
> I need servicemix to expose a webservice and route incoming messages to
> actual provider. The problem is that both http:soap-consumer and
> http:soap-provider forces me to use the same service and endpoint name as
> the wsdl.
> This naturally leads to following exception:
> javax.jbi.management.DeploymentException: More than one endpoint found in
> the SU for key:
> {http://www.prolixproject.org/loes}LOEventService:LOEventServiceSoap
>
> Is there a way to route messages using a single wsdl?
>
> Here's my xbean.xml:
> <http:soap-consumer service="loes:LOEventService"
> endpoint="LOEventServiceSoap"
> wsdl="classpath:LOEventService.wsdl"
> locationURI="http://localhost:8193/loes/"
> targetService="loes:LOEventService"
> targetEndpoint="LOEventServiceSoap"
> useJbiWrapper="true"
> validateWsdl="false"
> />
>
> <http:soap-provider service="loes:LOEventService"
> locationURI="http://localhost:1278/bluebox-web/services/LOEventService"
> endpoint="LOEventServiceSoap"
> wsdl="classpath:LOEventService.wsdl"
> useJbiWrapper="true"
> />
> --
> View this message in context: http://www.nabble.com/how-to-use-http%3Asoap-consumer-and-http%3Asoap-provider-with-single-wsdl-tp22597992p22597992.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>