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