Hide Forgot
project_key: SOA When SOAP request is sent to webservice, JBossWS throws NPE: 10:24:32,763 ERROR [SOAPFaultHelperJAXWS] SOAP request exception java.lang.NullPointerException at org.jboss.ws.core.soap.EnvelopeBuilderDOM.buildSOAPHeader(EnvelopeBuilderDOM.java:188) at org.jboss.ws.core.soap.EnvelopeBuilderDOM.build(EnvelopeBuilderDOM.java:164) at org.jboss.ws.core.soap.EnvelopeBuilderDOM.build(EnvelopeBuilderDOM.java:97) at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:294) at org.jboss.ws.core.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:193) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:451) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:294) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:203) at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:129) at org.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599) at org.apache.tomcat.util.net.JIoEndpoin There is equals method on null String called in BuildSOAPHeader method (the same is in BuildSOAPBody method) when building DOM tree from SOAP message. This affects also all stuff, which uses JBossWS to send/receive it's own SOAP messages (juddi-client, probably also ESB). Reproducer is attached.
Attachment: Added: reproducer_ws.tgz
There may be more instances of this, for example a quick search in the same package shows the two occurrences mentioned by Jiri and also others in EnvelopeBuilderStax.java and SOAPHeaderImpl.java EnvelopeBuilderDOM.java:188: if (!soapHeader.getPrefix().equals(domHeader.getPrefix())) EnvelopeBuilderDOM.java:229: if (!soapBody.getPrefix().equals(domBody.getPrefix())) EnvelopeBuilderStax.java:400: return !qName.getPrefix().equals(EMPTY_STRING) ? qName.getPrefix() + ":" + qName.getLocalPart() : qName.getLocalPart(); SOAPHeaderImpl.java:97: if (qname == null || qname.getNamespaceURI().length() == 0 || qname.getPrefix().length() == 0)
Issue caused by JBPAPP-5450
Link: Added: This issue depends JBPAPP-7498
Link: Removed: This issue depends JBPAPP-7498
Link: Added: This issue depends JBPAPP-7499
I tested patched jar provided by Kevin and it solves the problem.
Incorporated oneoff jar from JBPAPP-7499.
Release Notes Docs Status: Added: Not Required Writer: Added: dlesage
Verified in 5.2.0.CR1
Is this going to be rolled into the jbossws stack for EAP?
This affects EAP 4.3 CP10 as well.