Ideally, to me, this type of fault mapping needs to be in the SOAP binding, 
not the JMS transport.    The JMS transport needs to be somewhat independent 
of soap so that it's usable for things like XML over JMS and possibly even 
some resty things.

Basically, the SOAP binding should examine it's transportId and if it's the 
SOAP/JMS spec defined ID, it should add some extra interceptors to handle the 
mapping of the "soap specific" things into the non-soap specific things in the 
transport.  

For example:  all the funky JMS headers that the SOAP/JMS spec requires should 
be done from an interceptor provided by the SOAP binding (put them in the 
Message.PROTOCOL_HEADERS map) that the JMS transport would just copy across.

That said, I really haven't read the SOAP/JMS spec in very much detail so I'm 
not sure if it's completely possible.   :-)

Dan


On Mon June 8 2009 10:54:18 pm liucong wrote:
> Hi,
>
> Willem Jiang Writes:
> > Hi,
> >
> > I think you mean how to throw the fault from the JMS transport.
> > Basically , if you throw the fault from a CXF interceptor, CXF's
> > interceptors chain will take care of it and build the fault message and
> > throw it out.
> >
> > If you want to check the Content type , you could write an interceptor
> > and load it with your soap jms transport.
>
> How to load an interceptor with my soap jms transport? Is there any
> material for help?
>
> Thank you.
>
> > But I think  you could take
> > the soap binding (SoapBindingFactory) as an example, and put this kind
> > of checking as a work of soap jms binding.
> >
> > Just my 2 cents,
> >
> > Willem
> >
> > liucong wrote:
> >> Hi all,
> >>
> >> When I implement the SOAP Over JMS Specification, I don’t know how to
> >> implement SOAP fault for it.
> >>
> >> I use the org.apache.cxf.interceptor.Fault to record the Fault
> >> information. For example, I create a Fault instance for SOAP fault
> >> subcode contentTypeMismatch
> >> (http://www.w3.org/TR/2008/WD-soapjms-20080723/#binding-faults). If I
> >> check the fault the cxf-rt-transports-jms module, I don’t know how to
> >> deal with the fault which is checked out.
> >>
> >> If I added an Interceptor for JMS transport, I can use the interceptor
> >> to deal with the fault. Is It right?
> >>
> >> If it is Ok, how is the interceptor added to the interceptors according
> >> to whether the jms transport is used or not?
> >>
> >> Are there any materials for interceptors, phases, and phase order?
> >>
> >> Thank you very much!
> >>
> >> Best regards,
> >>
> >> Liu

-- 
Daniel Kulp
dk...@apache.org
http://www.dankulp.com/blog

Reply via email to