I am trying to send a oneway message into a http endpoint, but I am having trouble doing this. Here's the endpoint declaration:

    <http:endpoint service="mmx:mms-service"
                   endpoint="mms-service"
                   role="consumer"
                   soap="true"
                   locationURI="http://localhost/mm7";
                   defaultMep="http://www.w3.org/2004/08/wsdl/in-only";
                   wsdlResource="classpath:wsdl/gwxms.wsdl"/>


Notice the MEP is in-only.

The proxied endpoint is actually a JMS queue:

        <jms:endpoint service="mmx:mms-service"
                  endpoint="mms-service"
                  role="provider"
                  destinationStyle="queue"
                  soap="true"
                  jmsProviderDestinationName="queue.mms"
      jndiConnectionFactoryName="java:comp/env/jms/ConnectionFactory"/>

I am using a Axis 1.4 client to send the message in (I must use Axis because I need proper SAAJ support). Because it is a oneway message, the client expects a HTTP 202 response. However servicemix-http only replies with HTTP 200, which means "synchronous" in HTTP/SOAP. The exchange is working ok (I see the mime message on the JMS queue), the trouble is with the http endpoint.

Am I correct in setting up the MEP as in-only on the http:endpoint? Any idea on what the problem could be? (I suspect that http:endpoint should figure out from the WSDL that the message is oneway and return HTTP 202 accordingly, but I could be wrong).

 - Renaud

Reply via email to