Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

NPE inside SOAPEncoder #94

@glassfishrobot

Description

@glassfishrobot

Line 365 of SOAPEncoder

if (writerURI == null || ((nsPrefix.length() == 0) || (prefix.length() == 0)) ||
(!nsPrefix.equals(prefix) && !writerURI.equals(readerURI)))
{

throws an NPE when attempting to serialize a document conforming to the sample
schema below, with one of the elements being an extension of an abstract
supertype:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:base="http://generic" xmlns:v1="http://someurl"
targetNamespace="http://someurl">
<xsd:import namespace="http://generic" schemaLocation="base.xsd"/>
<xsd:element name="operation">
xsd:complexType
xsd:sequence
<xsd:element name="response" type="base:Response"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="subtype">
xsd:complexContent
<xsd:extension base="base:supertype">
xsd:sequence
<xsd:element name="someElement" type="v1:someType" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="someType">
xsd:sequence
<xsd:element name="result" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

With the supertype being defined as:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://generic"
xmlns:base="http://generic">
<xsd:complexType name="Response">
xsd:sequence
<xsd:element name="details" type="base:superType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="supertype" abstract="true">
</xsd:complexType>
</xsd:schema>

Instance doc sample

<ns:operation xsi:schemaLocation="http://someurl http://someurl/schema.xsd"
xmlns:ns="http://someurl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

true

Stack Trace:

com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher receive
SEVERE: Error in encoding SOAP Message
Error in encoding SOAP Message
at com.sun.xml.ws.encoding.soap.server.SOAPXMLEncoder.toSOAPMessage
(SOAPXMLEncoder.java:113)
at
com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.makeSOAPMessage
(SOAPMessageDispatcher.java:350)
at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive
(SOAPMessageDispatcher.java:155)
at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.handle
(WSServletDelegate.java:333)
at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost
(WSServletDelegate.java:288)
at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost
(WSServlet.java:77)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter
(ReplyHeaderFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal
(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke
StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke
(CustomPrincipalValve.java:44)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke
(SecurityAssociationValve.java:169)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke
(AccessLogValve.java:535)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext
(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service
(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio
n(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NullPointerException
at com.sun.xml.ws.encoding.soap.SOAPEncoder.serializeReader
(SOAPEncoder.java:365)
at com.sun.xml.ws.encoding.soap.SOAPEncoder.serializeSource
(SOAPEncoder.java:437)
at com.sun.xml.ws.encoding.soap.SOAPEncoder.writeBody
(SOAPEncoder.java:573)
at com.sun.xml.ws.encoding.soap.server.SOAPXMLEncoder.toSOAPMessage
(SOAPXMLEncoder.java:95)
... 41 more

Environment

Operating System: All
Platform: All

Affected Versions

[2.0 FCS]

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions