You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2004/03/02 10:04:36 UTC

DO NOT REPLY [Bug 27357] New: - NPE in BaseSerializerFactory.createFactory()

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27357>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=27357

NPE in BaseSerializerFactory.createFactory()

           Summary: NPE in BaseSerializerFactory.createFactory()
           Product: Axis
           Version: current (nightly)
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Serialization/Deserialization
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: gawor@mcs.anl.gov


[java] Caused by: java.lang.NullPointerException
     [java]     at org.apache.axis.encoding.ser.BaseSerializerFactory.createFact
ory(BaseSerializerFactory.java:231)
     [java]     at org.apache.axis.client.Call.registerTypeMapping(Call.java:218
8)
     [java]     at org.globus.testing.CounterSOAPBindingStub.createCall
(CounterSOAPBindingStub.java:583)
     [java]     ... 3 more

I have the following definition in the WSDL:

        <xsd:element name="foo">
         <xsd:complexType>
           <xsd:complexContent mixed="true">
             <xsd:restriction base="xsd:anyType">
               <xsd:sequence>
                 <xsd:any processContents="lax" 
                          minOccurs="1" maxOccurs="unbounded"/>
               </xsd:sequence>
             </xsd:restriction>
           </xsd:complexContent>
         </xsd:complexType>
     </xsd:element>

WSDL2Java generated the following entry for the definition in the Stub:

qName = new javax.xml.namespace.QName("bar", ">foo");
cachedSerQNames.add(qName);
cls = java.lang.Object.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(null);
cachedDeserFactories.add(simpledf);

And then using the Stub caused the exception in the createCall() function.

A simple check for factory == null solves the problem.