Community

ClassCastException in javax.xml.soap.MessageFactory (saaj-api-1.3.jar) as a result of CMIS call to Alfresco 3.3 Community deployed into JBoss 4.2.3.GA.

reply from Alessio Soldano in JBoss Web Services CXF - View the full discussion

Boris Ovich wrote:

 

Unfortunately this didn't help much. Yes, the ClassCast has gone, but now I am hampered by org.jboss.util.NotImplementedException in org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:300):


http-0.0.0.0-8080-1@9 daemon, priority=5, in group 'jboss', status: 'RUNNING'
      at org.jboss.ws.core.soap.SOAPPartImpl.appendChild(SOAPPartImpl.java:300)
      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:447)
      at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:391)
      at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:379)
      at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:361)
      at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:108)
      at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:68)
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
      at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
      at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
      at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:368)
      at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:183)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:141)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

...

 

That's because CXF there tries to use a method not implemented in that version of JBossWS SAAJ implementation.

You have multiple approaches here:

- you try replacing the jbossws saaj library with a more recent one where that method has been implemented; I think you need https://jira.jboss.org/jira/browse/JBWS-2747, hence jbossws-3.2.1 is what you'd need. Unfortunately that requires JBoss AS 5.0 at least, so you'll probably end up trying if the saaj jar lib can be isolated and ported to AS 4.2.3 or you checkout the sources of the jbossws included in 4.2.3, fix SOAPPartImpl as done in the jira, compile and install the modified version to AS 4.2.3

- you move to a more recent AS version, perhaps installing jbossws-cxf integration instead of deploying cxf on top of a JBoss AS that's running the jbossws-native stack

Reply to this message by going to Community

Start a new discussion in JBoss Web Services CXF at Community