[ 
https://issues.apache.org/jira/browse/AXIS2-4663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850908#action_12850908
 ] 

Brice FINES commented on AXIS2-4663:
------------------------------------

Hi,

I tried the Sun SAAJ RI as you suggested.
After struggling a bit and looking on internet, I followed the CXF wiki to get 
it working on Websphere (with a slight modification regarding the wiki 
steps)(Sun RI is a bit tricky to get working on others JVM).

We use a WAS 6.0.1.29 (without Web Service Feature Pack).
We now have 2 class loaders for this application.

The one with Parent First has the following jars inside:
_jsr173_api-1.0.jar
_jaxp-ri-1.4.3.jar
_saaj-impl-1.3.2.jar

The one with Parent Last (i.e. Application Parent First) has the following jars 
inside:
_wsdl4j-1.6.2.jar
_all Spring jars
_all CXF jars
_more jars

With this everything works correctly (the Sun SAAJ RI is used instead of Axis2 
SAAJ implementation).

But maybe that would be a god thing to fix Axis2 implementation, since CXF 
recommends it officially as an alternative:
http://cwiki.apache.org/CXF/faq.html#FAQ-CanCXFrunwithouttheSunreferenceSAAJimplementation%253F

Thanks
Regards

> SAAJ implementation classes do not overrride appendChild(org.w3c.dom.Node) 
> method
> ---------------------------------------------------------------------------------
>
>                 Key: AXIS2-4663
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4663
>             Project: Axis2
>          Issue Type: Bug
>          Components: saaj
>    Affects Versions: 1.5.1
>         Environment: Websphere 6.1.0.29
>            Reporter: Brice FINES
>            Priority: Blocker
>             Fix For: 1.6
>
>
> This bug was supposedly fixed in nightly builds, but almost 2 years later it 
> still affects official releases.
> See https://issues.apache.org/jira/browse/AXIS2-3808 for more details.
> This bug prevents from using CXF versions above 2.2 in a Websphere 
> environment (when making use of SAAJ interceptors).
> It would be great to see it fixed in version 1.6.
> Meanwhile, is there a way to access Axis2 java nightly source to see how it 
> is fixed?
> Thanks in advance.
> Regards
> org.apache.cxf.common.logging.LogUtils <doLog> Interceptor for 
> {http://xxxxxxxxxxxxxxxxxxxxx}yyyyyyyyyyyy has thrown exception, unwinding now
> org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to 
> insert a node where it is not permitted. 
>       at 
> org.apache.axiom.om.impl.dom.ParentNode.insertBefore(ParentNode.java:224)
>       at org.apache.axiom.om.impl.dom.NodeImpl.appendChild(NodeImpl.java:240)
>       at org.apache.axis2.saaj.SOAPPartImpl.appendChild(SOAPPartImpl.java:989)
>       at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.setChild(W3CDOMStreamWriter.java:114)
>       at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.newChild(W3CDOMStreamWriter.java:104)
>       at 
> org.apache.cxf.staxutils.W3CDOMStreamWriter.writeStartElement(W3CDOMStreamWriter.java:132)
>       at 
> org.apache.cxf.staxutils.StaxUtils.writeStartElement(StaxUtils.java:489)
>       at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:427)
>       at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:415)
>       at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:397)
>       at 
> org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:111)
>       at 
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.getSOAPMessage(WSS4JInInterceptor.java:127)
>       at 
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:161)
>       at 
> org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:78)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
>       at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
>       at 
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:423)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:178)
>       at 
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
>       at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
>       at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)
>       at 
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
>       at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
>       at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
>       at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
>       at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>       at 
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
>       at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>       at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>       at 
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
>       at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>       at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>       at 
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>       at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
>       at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
>       at 
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
>       at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
>       at 
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>       at 
> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
>       at 
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
>       at 
> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
>       at 
> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
>       at 
> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
>       at 
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
>       at 
> com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:525)
>       at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3548)
>       at 
> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269)
>       at 
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:818)
>       at 
> com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478)
>       at 
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:126)
>       at 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
>       at 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
>       at 
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)
>       at 
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
>       at 
> com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
>       at 
> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
>       at 
> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
>       at 
> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
>       at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
>       at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
>       at 
> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
>       at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
>       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to