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