You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Jeff Costello <je...@gmail.com> on 2012/06/09 23:53:57 UTC
misconfigured interceptor chain using jms transport
I am unable to get CXF running properly when exposed soap over jms. I am
using SMX 4 with camel 2.8.4 and CXF 2.4.6. I have schema validation
enabled. I exposed two CXF endpoints. The first via the http servlet and
the second over jms. I used the JMS Config feature for my jms transport.
Over HTTP, everything works fine. My requests validate against the schema.
Bad messages get a SOAP fault response, good ones get a good response.
Over JMS, I get the soap fault responses for the bad messages, but I don't
get any responses for the good messages. I tracked the issue down to the
CXF interceptor chain. I see that when I send a good result via JMS, the
interceptor chain is set up as one way. Here are the details. Has anyone
encountered this before? If so, how was it solved? Could I configure the
bus explicitly to prevent this from happening?
GOOD (HTTP SOAP FAULT):
Chain org.apache.cxf.phase.PhaseInterceptorChain@94f025b was modified.
Current flow:
setup [ServerPolicyOutFaultInterceptor]
prepare-send [MessageSenderInterceptor, Soap11FaultOutInterceptor]
pre-stream [LoggingOutInterceptor, StaxOutInterceptor]
pre-protocol [WebFaultOutInterceptor]
write [SoapOutInterceptor]
marshal [Soap11FaultOutInterceptorInternal]
write-ending [SoapOutEndingInterceptor]
pre-stream-ending [StaxOutEndingInterceptor]
prepare-send-ending [MessageSenderEndingInterceptor]
GOOD (JMS SOAP FAULT):
Chain org.apache.cxf.phase.PhaseInterceptorChain@5f6d51c0 was modified.
Current flow:
setup [ServerPolicyOutFaultInterceptor]
prepare-send [MessageSenderInterceptor, Soap11FaultOutInterceptor]
pre-stream [LoggingOutInterceptor, StaxOutInterceptor]
pre-protocol [WebFaultOutInterceptor]
write [SoapOutInterceptor]
marshal [Soap11FaultOutInterceptorInternal]
write-ending [SoapOutEndingInterceptor]
pre-stream-ending [StaxOutEndingInterceptor]
prepare-send-ending [MessageSenderEndingInterceptor]
BAD (JMS VALID MESSAGE):
Chain org.apache.cxf.phase.PhaseInterceptorChain@11c03d7b was modified.
Current flow:
receive [PolicyInInterceptor, LoggingInInterceptor,
AttachmentInInterceptor, SoapJMSInInterceptor]
post-stream [StaxInInterceptor]
read [WSDLGetInterceptor, ReadHeadersInterceptor,
SoapActionInInterceptor, StartBodyInterceptor]
pre-protocol [MEXInInterceptor, MustUnderstandInterceptor]
post-protocol [CheckFaultInterceptor, JAXBAttachmentSchemaValidationHack]
unmarshal [URIMappingInterceptor, DocLiteralInInterceptor,
SoapHeaderInterceptor]
pre-logical [OneWayProcessorInterceptor]
post-logical [WrapperClassInInterceptor, CheckClosingTagsInterceptor]
pre-invoke [SwAInInterceptor, HolderInInterceptor]
invoke [ServiceInvokerInterceptor]
post-invoke [OutgoingChainInterceptor]
GOOD (HTTP VALID MESSAGE):
Chain org.apache.cxf.phase.PhaseInterceptorChain@2208f8b6 was modified.
Current flow:
setup [PolicyOutInterceptor]
pre-logical [HolderOutInterceptor, SwAOutInterceptor,
WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
post-logical [SoapPreProtocolOutInterceptor]
prepare-send [MessageSenderInterceptor]
pre-stream [LoggingOutInterceptor, AttachmentOutInterceptor,
StaxOutInterceptor]
write [SoapOutInterceptor]
marshal [BareOutInterceptor]
write-ending [SoapOutEndingInterceptor]
pre-stream-ending [StaxOutEndingInterceptor]
prepare-send-ending [MessageSenderEndingInterceptor]
Thanks,
Jeff Costello
Re: misconfigured interceptor chain using jms transport
Posted by Daniel Kulp <dk...@apache.org>.
Is this in PAYLOAD or MESSAGE mode in Camel? Any chance of creating a
small "hello world" type testcase for this? I'm really not sure if this is
a Camel issue or a CXF issue at this point. Camel-cxf tends to do some
strange things to the chains, but I haven't see this type of thing yet.
Dan
On Saturday, June 09, 2012 05:53:57 PM Jeff Costello wrote:
> I am unable to get CXF running properly when exposed soap over jms. I am
> using SMX 4 with camel 2.8.4 and CXF 2.4.6. I have schema validation
> enabled. I exposed two CXF endpoints. The first via the http servlet and
> the second over jms. I used the JMS Config feature for my jms transport.
> Over HTTP, everything works fine. My requests validate against the schema.
> Bad messages get a SOAP fault response, good ones get a good response.
>
> Over JMS, I get the soap fault responses for the bad messages, but I don't
> get any responses for the good messages. I tracked the issue down to the
> CXF interceptor chain. I see that when I send a good result via JMS, the
> interceptor chain is set up as one way. Here are the details. Has anyone
> encountered this before? If so, how was it solved? Could I configure the
> bus explicitly to prevent this from happening?
>
> GOOD (HTTP SOAP FAULT):
> Chain org.apache.cxf.phase.PhaseInterceptorChain@94f025b was modified.
> Current flow:
> setup [ServerPolicyOutFaultInterceptor]
> prepare-send [MessageSenderInterceptor, Soap11FaultOutInterceptor]
> pre-stream [LoggingOutInterceptor, StaxOutInterceptor]
> pre-protocol [WebFaultOutInterceptor]
> write [SoapOutInterceptor]
> marshal [Soap11FaultOutInterceptorInternal]
> write-ending [SoapOutEndingInterceptor]
> pre-stream-ending [StaxOutEndingInterceptor]
> prepare-send-ending [MessageSenderEndingInterceptor]
>
> GOOD (JMS SOAP FAULT):
> Chain org.apache.cxf.phase.PhaseInterceptorChain@5f6d51c0 was modified.
> Current flow:
> setup [ServerPolicyOutFaultInterceptor]
> prepare-send [MessageSenderInterceptor, Soap11FaultOutInterceptor]
> pre-stream [LoggingOutInterceptor, StaxOutInterceptor]
> pre-protocol [WebFaultOutInterceptor]
> write [SoapOutInterceptor]
> marshal [Soap11FaultOutInterceptorInternal]
> write-ending [SoapOutEndingInterceptor]
> pre-stream-ending [StaxOutEndingInterceptor]
> prepare-send-ending [MessageSenderEndingInterceptor]
>
> BAD (JMS VALID MESSAGE):
> Chain org.apache.cxf.phase.PhaseInterceptorChain@11c03d7b was modified.
> Current flow:
> receive [PolicyInInterceptor, LoggingInInterceptor,
> AttachmentInInterceptor, SoapJMSInInterceptor]
> post-stream [StaxInInterceptor]
> read [WSDLGetInterceptor, ReadHeadersInterceptor,
> SoapActionInInterceptor, StartBodyInterceptor]
> pre-protocol [MEXInInterceptor, MustUnderstandInterceptor]
> post-protocol [CheckFaultInterceptor,
> JAXBAttachmentSchemaValidationHack] unmarshal [URIMappingInterceptor,
> DocLiteralInInterceptor,
> SoapHeaderInterceptor]
> pre-logical [OneWayProcessorInterceptor]
> post-logical [WrapperClassInInterceptor, CheckClosingTagsInterceptor]
> pre-invoke [SwAInInterceptor, HolderInInterceptor]
> invoke [ServiceInvokerInterceptor]
> post-invoke [OutgoingChainInterceptor]
>
> GOOD (HTTP VALID MESSAGE):
> Chain org.apache.cxf.phase.PhaseInterceptorChain@2208f8b6 was modified.
> Current flow:
> setup [PolicyOutInterceptor]
> pre-logical [HolderOutInterceptor, SwAOutInterceptor,
> WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
> post-logical [SoapPreProtocolOutInterceptor]
> prepare-send [MessageSenderInterceptor]
> pre-stream [LoggingOutInterceptor, AttachmentOutInterceptor,
> StaxOutInterceptor]
> write [SoapOutInterceptor]
> marshal [BareOutInterceptor]
> write-ending [SoapOutEndingInterceptor]
> pre-stream-ending [StaxOutEndingInterceptor]
> prepare-send-ending [MessageSenderEndingInterceptor]
>
> Thanks,
>
> Jeff Costello