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 2003/10/10 01:42:03 UTC

DO NOT REPLY [Bug 23712] New: - NPE in BeanUtils.processPropertyDescriptors

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=23712>.
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=23712

NPE in BeanUtils.processPropertyDescriptors

           Summary: NPE in BeanUtils.processPropertyDescriptors
           Product: Axis
           Version: 1.1
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: WSDL processing
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: holstege@mathling.com


I get the following NPE when fetching the WSDL for an EJB service. 
Tracking things down, the real problem is the following snippet of code in 
BeanUtils.getPropertyDescriptors:
                            } else if (Throwable.class.
isAssignableFrom(secJavaType)) {
                                // Don't include Throwable data
                                result = Introspector.
                                        getBeanInfo(secJavaType,Throwable.class)
.
                                        getPropertyDescriptors();
                            } else {

If secJavaType _is_ Throwable getBeanInfo will throw an InvocationException 
complaining about the fact that Throwable is not a superclass of Throwable.
This exception is silently swallowed and result is null, causing the NPE 
downstream.

java.lang.NullPointerException
        at org.apache.axis.utils.BeanUtils.processPropertyDescriptors(BeanUtils.
java:202)
        at org.apache.axis.utils.BeanUtils.getPd(BeanUtils.java:103)
        at org.apache.axis.encoding.ser.BeanSerializerFactory.<init>(BeanSeriali
zerFactory.java:90)
        at org.apache.axis.encoding.TypeMappingImpl.getSerializer(TypeMappingImp
l.java:335)
        at org.apache.axis.encoding.TypeMappingImpl.getSerializer(TypeMappingImp
l.java:643)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1303)
        at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:737)
        at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:716)
        at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer
.java:437)
        at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerialize
r.java:406)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1332)
        at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:326)
        at org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java
:1351)
        at org.apache.axis.wsdl.fromJava.Emitter.writeFaultMessage(Emitter.java:
1290)
        at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:909)

        at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:848)

        at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:383)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:262)
        at org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider
.java:494)
        at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java
:72)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:137)
        at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.ja
va:375)
        at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:499)
        at org.apache.axis.transport.http.AxisServlet.processWsdlRequest(AxisSer
vlet.java:484)
        at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:285
)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:339)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:1058)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:401)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:306)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:5445)
        at weblogic.security.service.SecurityServiceManager.runAs(SecurityServic
eManager.java:780)
        at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3105)
        at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2588)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)