I'm implementing an HttpConsumerEndpoint using a non-SOAP protocol. What I did was create a custom HttpConsumerMarshaler to handle the inbound request (if you're interested, it a MIME Multipart-Related request; significant in that it is absolutely NOT XML compliant, which causes the various XML parsing routines to barf) and configured the endpoint to use it. In this use case, the external entity (i.e. an HTTP client) is expecting a standard HTTP Request-Response cycle, which corresponds to an InOut MEP; therefore I configured the endpoint to use InOut as the default MEP. What I found was that the client was receiving an empty response, which did not satisfy the business requirements (the client expects an ACK or NAK type of message; also MIME Multipart-Related, by the way).
What I ended up doing was simply commenting/removing a line of code in the HttpConsumerEndpoint, recompiling and voila! My custom version of ServiceMix handled the request like a champ. What I did was simply remove the 'return' statement (line 244), allowing the method to run to completion where it actually performs the send() of the outbound message. So here's the actual question: am I missing something here? I didn't see another way around this, but I could just be blind to one of the many implications or just have overlooked another component, etc. that may solve the problem better. -- View this message in context: http://www.nabble.com/HttpConsumerEndpoint-w--custom%2C-non-SOAP-Marshaler-tp15244298s12049p15244298.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
