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)