You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by peppinolusuraio <ua...@libero.it> on 2009/02/11 17:33:31 UTC

CXF-SE and javax.xml.ws.handler.soap.SOAPHandler

I have a problem with CXF-SE and SOAPHandlers porting my application from CXF
to SMIX.

My App is made up of:
1)one CXF-SE su
1)one CXF-BC su

I have a lot of SOAPHanders doing some elaboration on my proprietary header
files.

Debugging I realized  that while all the Handlers instances specified in the
handlers.xml are created, at execution time ONLY the LogicalHandlers are
invoked and process the incoming and outgoing message.
it seems the CXF SoapHandlerInterceptor does not intervene in the processing
execution.
does SMIX not use all the interceptors in all the "PHASE"s ??
Do i have to add myself this interceptor?

Is this a SMIX bug or is it correct?
How can I work around this big big porting problem?

thank you

-- 
View this message in context: http://www.nabble.com/CXF-SE-and-javax.xml.ws.handler.soap.SOAPHandler-tp21958245p21958245.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF-SE and javax.xml.ws.handler.soap.SOAPHandler

Posted by peppinolusuraio <ua...@libero.it>.
using the useJBIWrapper="false" the handlers are invoked but it happens
something different.
In my generated classes the signoatures of the method are something as:

public GetMyMethodResponse myMethod(Holder<MyHeader> holder,
GetMyMethodResquest request)

because the header is sent back to the client and is shared by the WS
context invocation (as from the JAX-WS specification).

before activating the suggest option the message reached the endpoint, now I
get this exception:


Caused by: org.apache.cxf.interceptor.Fault: wrong number of arguments while
invoking public com.my.package.GetMyMethodResponse
com.my.package.MyEndpointImpl.myMethod(javax.xml.ws.Holder,com.my.package.GetMyMethodRequest)
throws com.my.package.ProcessingFailureException with params
[javax.xml.ws.Holder@1476189].

It seems the Holder<Header> is not recognised in the signature of the
method, so the message does not reach the correct destination.

any suggestions?
-- 
View this message in context: http://www.nabble.com/CXF-SE-and-javax.xml.ws.handler.soap.SOAPHandler-tp21958245p21975306.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: CXF-SE and javax.xml.ws.handler.soap.SOAPHandler

Posted by Freeman Fang <fr...@gmail.com>.
Hi,
I guess you are using default JBI wrapper message inside servicemix, in 
this case, the soap interceptor won't be invoked since the message 
payload isn't soap message.
Try add useJBIWrapper="false" both for your CXF-SE su and CXF-BC su, the 
soap payload will be used in this case and I believe the soap protocol 
handler will be picked up.
Freeman


peppinolusuraio wrote:
> I have a problem with CXF-SE and SOAPHandlers porting my application from CXF
> to SMIX.
>
> My App is made up of:
> 1)one CXF-SE su
> 1)one CXF-BC su
>
> I have a lot of SOAPHanders doing some elaboration on my proprietary header
> files.
>
> Debugging I realized  that while all the Handlers instances specified in the
> handlers.xml are created, at execution time ONLY the LogicalHandlers are
> invoked and process the incoming and outgoing message.
> it seems the CXF SoapHandlerInterceptor does not intervene in the processing
> execution.
> does SMIX not use all the interceptors in all the "PHASE"s ??
> Do i have to add myself this interceptor?
>
> Is this a SMIX bug or is it correct?
> How can I work around this big big porting problem?
>
> thank you
>
>