You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Gianfranco Boccalon <gb...@tiscali.it> on 2008/03/17 14:04:36 UTC

Re: HttpConsumerEndpoint w/ custom, non-SOAP Marshaler

Hi,
I'm trying to do the same thing but I dont find documentation on how to 
use a custom marshaller: in fact I dont find documentation on how using 
HttpConsumerEndpoint, because the configuration explained in the samples 
creates an HttpComponent that uses a HttpEndpoint, that is not 
configurable because it uses always the JBIMarshaller.

Which is the configuration for using HttpConsumerEndpoint and then use a 
custom marshaller ?

Thanks in advance
Gianfranco Boccalon




adam.strickland ha scritto:
> 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.
>   


Re: HttpConsumerEndpoint w/ custom, non-SOAP Marshaler

Posted by Gianfranco Boccalon <gb...@tiscali.it>.
Thanks a lot.

Gianfranco

Lars Heinemann ha scritto:
> Gianfranco,
>
> have a look at the http-upload tutorial. You will find that there is a
> custom marshaler used.
>
> Regards,
> Lars
>
>
>
> Gianfranco Boccalon schrieb:
>   
>> Hi,
>> I'm trying to do the same thing but I dont find documentation on how
>> to use a custom marshaller: in fact I dont find documentation on how
>> using HttpConsumerEndpoint, because the configuration explained in the
>> samples creates an HttpComponent that uses a HttpEndpoint, that is not
>> configurable because it uses always the JBIMarshaller.
>>
>> Which is the configuration for using HttpConsumerEndpoint and then use
>> a custom marshaller ?
>>
>> Thanks in advance
>> Gianfranco Boccalon
>>
>>
>>
>>
>> adam.strickland ha scritto:
>>     
>>> 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.
>>>   
>>>       
>>     
>
>   


Re: HttpConsumerEndpoint w/ custom, non-SOAP Marshaler

Posted by Lars Heinemann <la...@compart.net>.
Gianfranco,

have a look at the http-upload tutorial. You will find that there is a
custom marshaler used.

Regards,
Lars



Gianfranco Boccalon schrieb:
> Hi,
> I'm trying to do the same thing but I dont find documentation on how
> to use a custom marshaller: in fact I dont find documentation on how
> using HttpConsumerEndpoint, because the configuration explained in the
> samples creates an HttpComponent that uses a HttpEndpoint, that is not
> configurable because it uses always the JBIMarshaller.
>
> Which is the configuration for using HttpConsumerEndpoint and then use
> a custom marshaller ?
>
> Thanks in advance
> Gianfranco Boccalon
>
>
>
>
> adam.strickland ha scritto:
>> 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.
>>   
>
>