[ 
http://issues.apache.org/jira/browse/AXIS-2189?page=comments#action_12319721 ] 

toby cabot commented on AXIS-2189:
----------------------------------

Sorry Dims, you're so darn speedy that I didn't see your response before I 
added my patch ;)  My patch is against 1.2.1 so I'll upgrade to HEAD and 
resubmit.

> empty boolean attribute -> NPE
> ------------------------------
>
>          Key: AXIS-2189
>          URL: http://issues.apache.org/jira/browse/AXIS-2189
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2.1
>  Environment: Fedora Core 2
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
>     Reporter: toby cabot
>     Priority: Minor
>  Attachments: axis-empty-boolean-patch.txt
>
> If a document has a boolean attribute, an empty instance of that attribute 
> will trigger a NullPointerException during deserialization.  For example, one 
> of the schemas I use has
> <attribute name="reportIfEmpty" type="xsd:boolean" default="false" />
> If the inbound document contains
>     <reportSpec reportIfEmpty="" reportName="1" reportOnlyOnChange="false">
> then I get        
> {http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at 
> org.apache.axis.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:142)
>         at 
> org.apache.axis.encoding.ser.BeanDeserializer.onStartElement(BeanDeserializer.java:464)
>         at 
> org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:393)
>         at 
> org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
>         at 
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
>         at 
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
>         at 
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
>         at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
>         at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>         at 
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
>         at 
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
>         at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>         at 
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
>         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
>         at 
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:615)
>         at 
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>         at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
>         at 
> org.apache.geronimo.jetty.JettyServletHolder.handle(JettyServletHolder.java:100)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:832)
>         at 
> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:171)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
>         at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
>         at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:623)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:954)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:814)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831)
>         at 
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to