]
Alessio Soldano commented on JBWS-3985:
---------------------------------------
The fix will eventually reach WildFly next time we upgrade the JBossWS stack in it.
CXFHandlerResolverImpl not threadsafe
-------------------------------------
Key: JBWS-3985
URL:
https://issues.jboss.org/browse/JBWS-3985
Project: JBoss Web Services
Issue Type: Bug
Components: jbossws-cxf
Affects Versions: jbossws-cxf-5.0.0.Final
Reporter: Bjørn Hilstad
Assignee: Alessio Soldano
Fix For: jbossws-cxf-5.1.4.Final
When the concurrency of handler-chain parsing increases , the following error shows up in
the logs:
Caused by: org.xml.sax.SAXException: FWK005 parse may not be called while parsing.
at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:260)
at
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:298)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
at
org.jboss.wsf.stack.cxf.client.serviceref.CXFHandlerResolverImpl.createHandlerChain(CXFHandlerResolverImpl.java:161)
... 132 more
One case where I have seen this is when an EJB/MDB uses @WebServiceRef and @HandlerChain
to get a reference to a webservice.
When multiple instances of the EJB/MDB are created at the same time to handle a lot of
messages this happens.
It is the @HandlerChain that triggers the xml parsing and gives the error.
The Xerces DocumentBuilder is not threadsafe and thus requires code to synchronize it
correctly.