Can you create a small test case and attach to the jira?
When debugging, if you click on the chain object itself, it should print the
chain. Is your interceptor in there anywhere at all?
Out of curiosity, why would you not just throw a fault from the first
interceptor? Why save it and throw it later? Seems strange to me.
Dan
On Thu October 1 2009 3:29:49 pm Arik Gorelik wrote:
> Hello All,
>
> I am using CXF 2.2.4-SNAPSHOT and running into a strange issue.
>
> I have a custom interceptor that does not do anything other than throw a
> fault if it has one as a content of the incoming message. I am trying to
> execute it BEFORE DocLiteralInInterceptor but AFTER URIMappingInterceptor
> in UNMARSHAL phase.
>
> This is how I am adding it for for some reason it does not fire (it is
> being skipped):
>
> public class TestFaultThrowingInterceptor extends
> AbstractPhaseInterceptor<Message> {
>
> public TestFaultThrowingInterceptor() {
> super(Phase.UNMARSHAL);
> addAfter(URIMappingInterceptor.class.getName());
> addBefore(DocLiteralInInterceptor.class.getName());
> }
>
> public void handleMessage(Message message) throws Fault {
> // Obtain the fault from the previous phases
> Fault fault = (Fault) message.getContent(Exception.class);
> if (fault != null) {
> throw fault;
> }
> }
>
> }
>
> <jaxws:endpoint
> id="testService"
> implementor="testServiceImpl"
> wsdlLocation="wsdl/v29/testService.wsdl"
> address="/v29/testService">
> <jaxws:properties>
> <entry key="schema-validation-enabled" value="false" />
> </jaxws:properties>
> <jaxws:inInterceptors>
> <ref bean="testInterceptor" />
> <ref bean="testFaultThrowingInterceptor" />
> </jaxws:inInterceptors>
> </jaxws:endpoint>
>
>
> However, I've been debugging the code including the Interceptor Chain, but
> not sure why my custom interceptor does not fire. After the
> URIMappingInterceptor the execution in the chain goes straight to the
> DocLiteralInInterceptor. Any ideas how I can invoke my interceptor?
>
> Thanks.
> Arik.
>
--
Daniel Kulp
[email protected]
http://www.dankulp.com/blog