You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Akitoshi Yoshida <sa...@googlemail.com> on 2010/07/06 18:17:31 UTC

Oneway service with cxf-bc does not return HTTP 202

Hi,
I have an oneway operation scenario generated by one of the samples
included in the CXF package (the Greeter service with operation
greetMeOneWay).
In this WSDL, this operation is defined to have only the input and no output.

This service returns HTTP 202 when it is directly invoked in the CXF
2.2.7 (or 2.2.9) runtime.

However, when I deploy its equivalent CXF-BC/CXF-SE version to
Servicemix 3.3.1 and call this service there, the service returns HTTP
200 instead.

This causes problems with the Axis client because it can handle HTTP
202 but not HTTP 200 with no content.

The problem also occurs in Servicemix 3.3.2 and the current
3.3.3-SNAPSHOT version (I needed to replace the active-mq dependency
from 5.3.2 to 5.3.0 so that the engine starts).

I noticed that the interceptor chain used by the Servicemix CXF
version is much shorter than the one used by the standalone CXF and it
is missing OnewayProcessorInterceptor which is responsible for this
particular oneway processing behavior.

Is this a configuration issue with xbean or is it a bug?

I saw a similar issue reported for HTTP-BC some years ago and this
seems to have been fixed.

Regards, Aki

Re: Oneway service with cxf-bc does not return HTTP 202

Posted by Akitoshi Yoshida <sa...@googlemail.com>.
Hi Freeman,
Thank you for a quick fix.

I tried it out with a locally built sevicemix-cxf-bc including your
fix and it's now working fine.

Regards, Aki

On Wed, Jul 7, 2010 at 6:29 AM, Freeman Fang <fr...@gmail.com> wrote:
> Hi,
>
> Yeah, this is the issue we need fix, we need add OnewayInterceptor by
> default, create SMXCOMP-776[1] to track it and the fix is coming very soon.
>
> You can configure your cxf bc consumer endpoint with OnewayInterceptor as a
> workaround before this fix get released.
>
> Thanks for pointing out this issue.
> [1]https://issues.apache.org/activemq/browse/SMXCOMP-776
>
> Freeman
> On 2010-7-7, at 上午12:17, Akitoshi Yoshida wrote:
>
>> Hi,
>> I have an oneway operation scenario generated by one of the samples
>> included in the CXF package (the Greeter service with operation
>> greetMeOneWay).
>> In this WSDL, this operation is defined to have only the input and no
>> output.
>>
>> This service returns HTTP 202 when it is directly invoked in the CXF
>> 2.2.7 (or 2.2.9) runtime.
>>
>> However, when I deploy its equivalent CXF-BC/CXF-SE version to
>> Servicemix 3.3.1 and call this service there, the service returns HTTP
>> 200 instead.
>>
>> This causes problems with the Axis client because it can handle HTTP
>> 202 but not HTTP 200 with no content.
>>
>> The problem also occurs in Servicemix 3.3.2 and the current
>> 3.3.3-SNAPSHOT version (I needed to replace the active-mq dependency
>> from 5.3.2 to 5.3.0 so that the engine starts).
>>
>> I noticed that the interceptor chain used by the Servicemix CXF
>> version is much shorter than the one used by the standalone CXF and it
>> is missing OnewayProcessorInterceptor which is responsible for this
>> particular oneway processing behavior.
>>
>> Is this a configuration issue with xbean or is it a bug?
>>
>> I saw a similar issue reported for HTTP-BC some years ago and this
>> seems to have been fixed.
>>
>> Regards, Aki
>
>
> --
> Freeman Fang
>
> ------------------------
> Open Source SOA: http://fusesource.com
> Apache Servicemix:http://servicemix.apache.org
> Apache Cxf: http://cxf.apache.org
> Apache Karaf: http://karaf.apache.org
> Apache Felix: http://felix.apache.org
>
>

Re: Oneway service with cxf-bc does not return HTTP 202

Posted by Freeman Fang <fr...@gmail.com>.
Hi,

Yeah, this is the issue we need fix, we need add OnewayInterceptor by  
default, create SMXCOMP-776[1] to track it and the fix is coming very  
soon.

You can configure your cxf bc consumer endpoint with OnewayInterceptor  
as a workaround before this fix get released.

Thanks for pointing out this issue.
[1]https://issues.apache.org/activemq/browse/SMXCOMP-776

Freeman
On 2010-7-7, at 上午12:17, Akitoshi Yoshida wrote:

> Hi,
> I have an oneway operation scenario generated by one of the samples
> included in the CXF package (the Greeter service with operation
> greetMeOneWay).
> In this WSDL, this operation is defined to have only the input and  
> no output.
>
> This service returns HTTP 202 when it is directly invoked in the CXF
> 2.2.7 (or 2.2.9) runtime.
>
> However, when I deploy its equivalent CXF-BC/CXF-SE version to
> Servicemix 3.3.1 and call this service there, the service returns HTTP
> 200 instead.
>
> This causes problems with the Axis client because it can handle HTTP
> 202 but not HTTP 200 with no content.
>
> The problem also occurs in Servicemix 3.3.2 and the current
> 3.3.3-SNAPSHOT version (I needed to replace the active-mq dependency
> from 5.3.2 to 5.3.0 so that the engine starts).
>
> I noticed that the interceptor chain used by the Servicemix CXF
> version is much shorter than the one used by the standalone CXF and it
> is missing OnewayProcessorInterceptor which is responsible for this
> particular oneway processing behavior.
>
> Is this a configuration issue with xbean or is it a bug?
>
> I saw a similar issue reported for HTTP-BC some years ago and this
> seems to have been fixed.
>
> Regards, Aki


-- 
Freeman Fang

------------------------
Open Source SOA: http://fusesource.com
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org