Did you check all the information about websphere at: http://cwiki.apache.org/CXF20DOC/appserverguide.html
Honestly, I don't know what would cause that either. You might want to try a wireshark dump or message log or something to see how different the SOAP message coming back from the server is as compared to JBoss. That might give a clue. Dan On Wednesday 13 February 2008, [EMAIL PROTECTED] wrote: > Dan, > > I actually got your suggestion working under JBoss 4.0.4GA but am > having issues with running under Websphere. > > I am using the SAAJ api's to send the request to the real server and > then the generic service takes care of wrapping the security onto the > response. > > The service interface keeps it really generic by changing the > SOAPMessage to a string/base64 as needed. > This way any service method can be passed without need to change the > generic service. > > @WebService(name="SAAJGatewayService", > targetNamespace="http://services.my.namespace") > public interface SAAJGatewayService { > > String sendMessage ( > @WebParam(name = "message") > String message); > > } > > The real service works under Websphere since its not using any of the > security. > The problem I'm having with the generic service seems to have > something to do with the SAAJ api's conflicting with the servers > j2ee.jar (SOAPMessage, SOAPBody, and SOAPPart classes). > I tried having the jars for the SAAJ put on the Websphere server, but > now it looks like I am having problems mixing com.sun with com.ibm > xerces parsers. > > Without the saaj api on the server, I actually had the response coming > back to the generic server, but the SoapOutInterceptor is blowing up > on: > > ExtendedMessage: Interceptor has thrown exception, unwinding > noworg.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was > made to insert a node where it is not permitted. > .at org.apache.xerces.dom.CoreDocumentImpl.insertBefore(Unknown > Source) .at org.apache.xerces.dom.NodeImpl.appendChild(Unknown Source) > .at com.ibm > .ws.webservices.engine.xmlsoap.SOAPPart.appendChild(SOAPPart.java:244) > .at > org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWrite >r.java:82) .at > org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMSt >reamWriter.java:99) .at > org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.writeSoapEn >velopeStart(SoapOutInterceptor.java:95) .at > org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa >ge(SoapOutInterceptor.java:76) .at > org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor.handleMessa >ge(SoapOutInterceptor.java:57) .at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto >rChain.java:208) .at > org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(Outg >oingChainInterceptor.java:74) .at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto >rChain.java:208) .at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitia >tionObserver.java:77) .at > org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletD >estination.java:79) .at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(S >ervletController.java:264) .at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletContr >oller.java:160) .at > org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXF >Servlet.java:170) .at > org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXF >Servlet.java:148) etc.... > > I am stuck at this point wondering what is happening to the SOAP > object that could be causing this HIERARCHY_REQUEST_ERR. > > > > > Daniel Kulp <[EMAIL PROTECTED]> > 02/05/2008 02:50 PM > > To > [email protected] > cc > [EMAIL PROTECTED] > Subject > Re: Deploy my service implementation separately from my security > configuration? > > > > > > > > > You MAY be able to do this by writing a completely generic > Provider<SOAPMessage> based service that just forwards onto another > service. The security information would be set on that and the > spring could configure in a URL to the service it then sends the SOAP > messages onto. It would then use the dispatch APIs (or even the > straight SAAJ apis I think would work if you are talking straight > HTTP) to forward the SAAJ message onto the real server, get the SAAJ > back, and return it where the security would do it's thing. > > Dan > > On Monday 04 February 2008, [EMAIL PROTECTED] wrote: > > Hello, > > > > I am working with CXF 2.0.4 with javaFirst/Spring/CXF Servlet. > > I have the jaxws setup using Timestamp, Signature, and Encypt. > > I have some customized interceptors and a handler. > > > > This is all included in one war file (just like the demos) that I > > deploy to JBoss (and eventually Websphere). > > > > I was wondering if its possible to: > > - separate out my service implementation as one war file and my > > security configuration as another war file > > or > > - have my service endpoint be external from the same JVM that CXF is > > under (the internal endpoint is different from the published > > external endpoint). > > > > > > The goal is to keep the security settings "untouchable" when further > > maintenance/enhancements of the service methods goes forward. > > We don't want to have to worry about the security getting broken > > once we know that its working correctly. > > > > I believe that this is called "hardening" the security. > > > > Any suggestions/readings would really be appreciated. -- J. Daniel Kulp Principal Engineer, IONA [EMAIL PROTECTED] http://www.dankulp.com/blog
