You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/07/29 23:04:14 UTC
[jira] Commented: (CXF-2199) NullPointerException from MapType
[ https://issues.apache.org/jira/browse/CXF-2199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12736833#action_12736833 ]
Daniel Kulp commented on CXF-2199:
----------------------------------
Well, the stack trace shows that its Aegis on the server side. We'd definitely need a test case that shows what the server side is doing to reproduce this.
> NullPointerException from MapType
> ---------------------------------
>
> Key: CXF-2199
> URL: https://issues.apache.org/jira/browse/CXF-2199
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.2.1
> Environment: Maven version: 2.0.10
> Java version: 1.5.0_16
> OS name: "mac os x" version: "10.5.6" arch: "i386" Family: "unix"
> Reporter: Valerio Schiavoni
> Attachments: helloworld.wsdl
>
>
> I'm writing a WSDL-first application. Given this WSDL:
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="FcService"
> targetNamespace="http://bf.fractal.objectweb.org/" xmlns:ns1="http://schemas.xmlsoap.org/wsdl/soap/http"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://bf.fractal.objectweb.org/"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <wsdl:types>
> <xsd:schema attributeFormDefault="qualified"
> elementFormDefault="qualified" targetNamespace="http://bf.fractal.objectweb.org"
> xmlns:tns="http://bf.fractal.objectweb.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:complexType name="HelloWorldException">
> <xsd:sequence />
> </xsd:complexType>
> </xsd:schema>
> <xsd:schema attributeFormDefault="qualified"
> elementFormDefault="qualified" targetNamespace="http://bf.fractal.objectweb.org/"
> xmlns:ns0="http://bf.fractal.objectweb.org" xmlns:tns="http://bf.fractal.objectweb.org/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:complexType name="anyType2anyTypeMap">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded"
> minOccurs="0" name="entry">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element minOccurs="0"
> name="key" type="xsd:anyType" />
> <xsd:element minOccurs="0"
> name="value" type="xsd:anyType" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
> </xsd:sequence>
> </xsd:complexType>
> <xsd:element name="print" type="tns:print" />
> <xsd:complexType name="print">
> <xsd:sequence />
> </xsd:complexType>
> <xsd:element name="printResponse" type="tns:printResponse" />
> <xsd:complexType name="printResponse">
> <xsd:sequence />
> </xsd:complexType>
> <xsd:element name="getBytes" type="tns:getBytes" />
> <xsd:complexType name="getBytes">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="arg0"
> nillable="true" type="tns:anyType2anyTypeMap" />
> <xsd:element name="arg1" nillable="true"
> type="xsd:base64Binary" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:element name="getBytesResponse" type="tns:getBytesResponse" />
> <xsd:complexType name="getBytesResponse">
> <xsd:sequence>
> <xsd:element name="return" nillable="true"
> type="xsd:base64Binary" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:element name="printAndAnswer" type="tns:printAndAnswer" />
> <xsd:complexType name="printAndAnswer">
> <xsd:sequence />
> </xsd:complexType>
> <xsd:element name="printAndAnswerResponse" type="tns:printAndAnswerResponse" />
> <xsd:complexType name="printAndAnswerResponse">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="return"
> nillable="true" type="xsd:string" />
> </xsd:sequence>
> </xsd:complexType>
> <xsd:element name="badMethod" type="tns:badMethod" />
> <xsd:complexType name="badMethod">
> <xsd:sequence />
> </xsd:complexType>
> <xsd:element name="badMethodResponse" type="tns:badMethodResponse" />
> <xsd:complexType name="badMethodResponse">
> <xsd:sequence />
> </xsd:complexType>
> <xsd:element name="HelloWorldException"
> nillable="true" type="ns0:HelloWorldException" />
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="badMethod">
> <wsdl:part element="tns:badMethod" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="printAndAnswer">
> <wsdl:part element="tns:printAndAnswer" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="HelloWorldException">
> <wsdl:part element="tns:HelloWorldException" name="HelloWorldException">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="printAndAnswerResponse">
> <wsdl:part element="tns:printAndAnswerResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="badMethodResponse">
> <wsdl:part element="tns:badMethodResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getBytesResponse">
> <wsdl:part element="tns:getBytesResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="printResponse">
> <wsdl:part element="tns:printResponse" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="getBytes">
> <wsdl:part element="tns:getBytes" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:message name="print">
> <wsdl:part element="tns:print" name="parameters">
> </wsdl:part>
> </wsdl:message>
> <wsdl:portType name="FcServicePortType">
> <wsdl:operation name="print">
> <wsdl:input message="tns:print" name="print">
> </wsdl:input>
> <wsdl:output message="tns:printResponse" name="printResponse">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="getBytes">
> <wsdl:input message="tns:getBytes" name="getBytes">
> </wsdl:input>
> <wsdl:output message="tns:getBytesResponse"
> name="getBytesResponse">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="printAndAnswer">
> <wsdl:input message="tns:printAndAnswer" name="printAndAnswer">
> </wsdl:input>
> <wsdl:output message="tns:printAndAnswerResponse"
> name="printAndAnswerResponse">
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="badMethod">
> <wsdl:input message="tns:badMethod" name="badMethod">
> </wsdl:input>
> <wsdl:output message="tns:badMethodResponse"
> name="badMethodResponse">
> </wsdl:output>
> <wsdl:fault message="tns:HelloWorldException"
> name="HelloWorldException">
> </wsdl:fault>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="FcServiceSoapBinding" type="tns:FcServicePortType">
> <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http" />
> <wsdl:operation name="print">
> <soap:operation soapAction="" style="document" />
> <wsdl:input name="print">
> <soap:body use="literal" />
> </wsdl:input>
> <wsdl:output name="printResponse">
> <soap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="getBytes">
> <soap:operation soapAction="" style="document" />
> <wsdl:input name="getBytes">
> <soap:body use="literal" />
> </wsdl:input>
> <wsdl:output name="getBytesResponse">
> <soap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="printAndAnswer">
> <soap:operation soapAction="" style="document" />
> <wsdl:input name="printAndAnswer">
> <soap:body use="literal" />
> </wsdl:input>
> <wsdl:output name="printAndAnswerResponse">
> <soap:body use="literal" />
> </wsdl:output>
> </wsdl:operation>
> <wsdl:operation name="badMethod">
> <soap:operation soapAction="" style="document" />
> <wsdl:input name="badMethod">
> <soap:body use="literal" />
> </wsdl:input>
> <wsdl:output name="badMethodResponse">
> <soap:body use="literal" />
> </wsdl:output>
> <wsdl:fault name="HelloWorldException">
> <soap:fault name="HelloWorldException" use="literal" />
> </wsdl:fault>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="FcService">
> <wsdl:port binding="tns:FcServiceSoapBinding" name="FcServicePort">
> <soap:address location="http://localhost:8080/Service" />
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> I generate the the stub classes. Then, on the client-side, executing this code:
> private FcServicePortType service ..//initialiation
> final AnyType2AnyTypeMap p = new AnyType2AnyTypeMap();
> byte[] b = service.getBytes(p, "hello".getBytes());
> the call to getBytes() throws this NPE on the server-side:
> Apr 30, 2009 3:27:56 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault
> at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:63)
> at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:38)
> at org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:242)
> at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:120)
> 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.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
> at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
> at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
> at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
> at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
> Caused by: java.lang.NullPointerException
> at java.util.Hashtable.put(Hashtable.java:396)
> at org.apache.cxf.aegis.type.collection.MapType.readObject(MapType.java:87)
> at org.apache.cxf.aegis.AegisXMLStreamDataReader.read(AegisXMLStreamDataReader.java:82)
> at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:61)
> ... 19 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.