You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Seguy <ca...@gmail.com> on 2006/09/22 15:22:23 UTC

SOAP 1.1 http endpoint provider

Hi,

We're trying to make http-endpoints understand and use SOAP1.1 instead of
1.2 in order to speak with 1.1 
Web services deployed in a Tomcat server.

Our setup is based on the soap-binding example. The components are:
- Browser with JavaScript page from example. Sends SOAP 1.1 requests to WS
exposed by EP1.
- SM-http endpoint (EP) 2, provider, bound to Tomcat WS. Configuration:

# PROVIDER 
<?xml version="1.0"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
       xmlns:demo="urn:servicemix:soap-binding">
<classpath>
    <location>.</location>
</classpath>
<http:endpoint service="demo:simple-service2"
               endpoint="simple-service2"
               role="provider"
               locationURI="http://localhost:8080/services/MyAuthorService"
               wsdlResource="classpath:provider.wsdl"                
               soap="true"
               soapVersion="1.1"
               />
</beans>

- Tomcat WS
- SM-http EP 1, consumer, sending requests to EP2. Configuration:

# CONSUMER
<?xml version="1.0"?>
<beans xmlns:http="http://servicemix.apache.org/http/1.0"
       xmlns:demo="urn:servicemix:soap-binding">

    <http:endpoint service="demo:simple-service"
                   endpoint="simple-service"
                   targetService="demo:simple-service2"
                   targetEndpoint="simple-service2"
                   role="consumer"
                   locationURI="http://localhost:8192/Service/"
                   defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
                   soap="true" 
                   soapVersion="1.1"/>
</beans>

QUESTION: Is this configuration correct?

The flow would be:
Browser -> EP1 -> SM -> EP2 -> EXTERNAL WS -> EP2 -> SM -> EP1 -> Browser

The problem that we experience is that we are only able to get back to EP1.
Our problem seems to reside within 
the doPost-method of the http-servlet, which seems to be called only once.
In the soap-binding example, this happens twice. We can, though, confirm
that the out-message contains the payload.

Thanks in advance,
Carles
-- 
View this message in context: http://www.nabble.com/SOAP-1.1-http-endpoint-provider-tf2317741.html#a6446952
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: SOAP 1.1 http endpoint provider

Posted by Seguy <ca...@gmail.com>.
Hello,

I see that our problem has been resolved in the new release of servicemix,
SM-550 improvement.
I was wrong and the bug not was related with the continuation
(org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation)
and the second call to the HttpBridgeServlet, the problem occurs before in
the flow when the provider 
http endpoint returns the ExchangeMessage to the consumer http endpoint with
a sendSync instead of send. 
Thank you for solving the bug.
Cheers, Carles.


Seguy wrote:
> 
> Hi,
> 
> We're trying to make http-endpoints understand and use SOAP1.1 instead of
> 1.2 in order to speak with 1.1 
> Web services deployed in a Tomcat server.
> 
> Our setup is based on the soap-binding example. The components are:
> - Browser with JavaScript page from example. Sends SOAP 1.1 requests to WS
> exposed by EP1.
> - SM-http endpoint (EP) 2, provider, bound to Tomcat WS. Configuration:
> 
> # PROVIDER 
> <?xml version="1.0"?>
> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>        xmlns:demo="urn:servicemix:soap-binding">
> <classpath>
>     <location>.</location>
> </classpath>
> <http:endpoint service="demo:simple-service2"
>                endpoint="simple-service2"
>                role="provider"
>               
> locationURI="http://localhost:8080/services/MyAuthorService"
>                wsdlResource="classpath:provider.wsdl"                
>                soap="true"
>                soapVersion="1.1"
>                />
> </beans>
> 
> - Tomcat WS
> - SM-http EP 1, consumer, sending requests to EP2. Configuration:
> 
> # CONSUMER
> <?xml version="1.0"?>
> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>        xmlns:demo="urn:servicemix:soap-binding">
> 
>     <http:endpoint service="demo:simple-service"
>                    endpoint="simple-service"
>                    targetService="demo:simple-service2"
>                    targetEndpoint="simple-service2"
>                    role="consumer"
>                    locationURI="http://localhost:8192/Service/"
>                    defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
>                    soap="true" 
>                    soapVersion="1.1"/>
> </beans>
> 
> QUESTION: Is this configuration correct?
> 
> The flow would be:
> Browser -> EP1 -> SM -> EP2 -> EXTERNAL WS -> EP2 -> SM -> EP1 -> Browser
> 
> The problem that we experience is that we are only able to get back to
> EP1. Our problem seems to reside within 
> the doPost-method of the http-servlet, which seems to be called only once.
> In the soap-binding example, this happens twice. We can, though, confirm
> that the out-message contains the payload.
> 
> Thanks in advance,
> Carles
> 

-- 
View this message in context: http://www.nabble.com/SOAP-1.1-http-endpoint-provider-tf2317741.html#a6547655
Sent from the ServiceMix - User mailing list archive at Nabble.com.