I do not really know which http code should be returned. I would have thought a 204 (NO_CONTENT) would be fine. Everything is handled in the o.a.s.http.processors.ConsumerProcessor class. I guess that just returning the 202 when there is no out message in the jbi exchange line 210 (either in-only, robust-in-only, or in-optional-out without response).
Cheers, Guillaume Nodet On 6/30/06, Renaud Bruyeron <[EMAIL PROTECTED]> wrote:
I could try to fix it, but I am not sure on the best way to do this... I am not even sure on the semantics here: in which case should we return a 202 ? Is it when the MEP is in-only, or when the WSDL says 'oneway', or both? I am willing to look into this, but I am not too sure on the "correct" fix. If you have any pointers/ideas, let me know. In the mean time, I'll create a jira for this. - Renaud Guillaume Nodet wrote: > I think you are right. A 202 code should be returned. > Could you raise a JIRA for that please ? > If you can provide a patch, that would be cool :) > > Cheers, > Guillaume Nodet > > On 6/30/06, Renaud Bruyeron <[EMAIL PROTECTED]> wrote: >> >> >> 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 >> >> >