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 "Arne M. Degenring" <ar...@degenring.de> on 2002/05/17 08:49:13 UTC

FW: Bug? Beans with public attributes instead of getters

As there hasn't been any response on axis-user, I thought I should
forward it to axis-dev. The question is, is it a bug, or just a missing
feature. If you think it is a bug, just tell me, and I can put it into
Bugzilla, if you want.

-----Original Message-----
From: Arne M. Degenring [mailto:arne@degenring.de] 
Sent: Tuesday, May 14, 2002 11:53 AM
To: axis-user@xml.apache.org
Subject: Bug? Beans with public attributes instead of getters


Hi,

is it true that Axis does not support beans that have public attributes
instead of private attributes with public getter- and setter-methods?
(Yes, I know... such a "bean" is - strictly speaking - no real bean.)

I always get NullPointerExceptions when I try to access the WSDL file in
such cases. Have a look at the files I've attached. It is a very simple
Web Service, that gives back a TestResult object:

public class TestResult
{
      public String one;
      public int two;
}

When I try to access
http://localhost:8080/axis/servlet/AxisServlet/TestWebservice?WSDL I get
back the error message:

<h2>AXIS error</h2>
<p>Sorry, something seems to have gone wrong... here are the
details:</p> <pre>java.lang.NullPointerException </pre>

Tomcat prints a stack trace (see below). BTW: I'm using yesterday's
nightly build of AXIS.

After adding getter-Methods to TestResult everything works fine. Is it a
bug, or a (missing) feature?

Regards,  Arne




---- TOMCAT 4.0.3 stack trace: -----------

- Mapping Exception to AxisFault
java.lang.NullPointerException
        at
org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerialize
r.java:275)
        at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:412)
        at
org.apache.axis.wsdl.fromJava.Types.writeTypeAsElement(Types.java:162
)
        at
org.apache.axis.wsdl.fromJava.Types.writePartType(Types.java:151)
        at
org.apache.axis.wsdl.fromJava.Emitter.writePartToMessage(Emitter.java
:934)
        at
org.apache.axis.wsdl.fromJava.Emitter.writeResponseMessage(Emitter.ja
va:845)
        at
org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:662)

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

        at
org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:338)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:244)
        at
org.apache.axis.providers.java.JavaProvider.generateWSDL(JavaProvider
.java:384)
        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:328)
        at
org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:442)
        at
org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:321
)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServl
et.java:446)
        at
org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java
:180)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:243)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:190)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2343)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:170)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
468)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:564)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
        at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline
.java:566)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:472)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)

        at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcesso
r.java:1012)
        at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.ja
va:1107)
        at java.lang.Thread.run(Thread.java:484)