You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Huitang Li <hu...@kpi-consulting.net> on 2007/10/23 02:37:38 UTC

org.apache.axis2.databinding.ADBException: Property cannot be null!

Hi,

I created a web service code based on a wsdl, and it is run in resin 
3.1.3, and I have the soapmonitor activated.  When a web service client 
sent a soap message to it, it threw the following exception:

java.lang.RuntimeException: Can not serialize OM Element Envelope
    at 
org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:916)
    at 
org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:101)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
    at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
    at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:442)
    at 
org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:403)
    at 
org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:366)
    at 
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:154)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:153)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
    at 
com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
    at 
com.caucho.server.security.SecurityFilterChain.doFilter(SecurityFilterChain.java:134)
    at 
com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
    at 
com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
    at 
com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
    at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
    at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.axis2.databinding.ADBException: Property cannot be 
null!
    at test.Fault.serialize(Fault.java:95)
    at test.Fault$1.serialize(Fault.java:80)
    at 
org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:82)
    at 
org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume(OMSourcedElementImpl.java:599)
    at 
org.apache.axiom.soap.impl.llom.SOAPFaultDetailImpl.internalSerialize(SOAPFaultDetailImpl.java:86)
    at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
    at 
org.apache.axiom.soap.impl.llom.SOAPFaultImpl.internalSerialize(SOAPFaultImpl.java:192)
    at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
    at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:772)
    at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
    at 
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:210)
    at 
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
    at 
org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:345)
    at 
org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:913)
    ... 18 more

This exception will not be shown when all elements in the requesting 
soap message are filled with non-empty (no-blankspace) values.

I notice that the exception is thrown from the following axis2-generated 
code:


   public void serialize(final javax.xml.namespace.QName parentQName,
        final org.apache.axiom.om.OMFactory factory,
        
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter 
xmlWriter)
        throws javax.xml.stream.XMLStreamException,
            org.apache.axis2.databinding.ADBException {
        //We can safely assume an element has only one type associated 
with it
        if (localFault == null) {
            throw new org.apache.axis2.databinding.ADBException(
                "Property cannot be null!");                         
<========================  the line where the exception is thrown.
        }

        localFault.serialize(MY_QNAME, factory, xmlWriter);
    }


My question is: In the line where the exception is thrown, why is the 
parameter localFault null? How to make it as a non-null value?

Thanks.









---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: org.apache.axis2.databinding.ADBException: Property cannot be null!

Posted by Huitang Li <hu...@kpi-consulting.net>.
I am using axis2 1.3. I put the -Eosv there in the command line, and it 
did not solve the problem. Anyway, my problem was solved by changing 
wsdl. Thanks.


Amila Suriarachchi wrote:
>
>
> On 10/23/07, *Huitang Li* <huitang.li@kpi-consulting.net 
> <ma...@kpi-consulting.net>> wrote:
>
>     Excellent! Thanks very much. Somehow -Eosv does not solve the problem.
>
>
> what is the  Axis2 version you use? this is available in Axis2 1.3.
>
>     So I put the nillable="true" in the element there, and it works.
>
>
>
>
>
>     Amila Suriarachchi wrote:
>     > this means your object structure do not have loaded the required
>     fault
>     > elements.
>     >
>     > see you schema there should be an element named fault without
>     > minOccurs=0 or nillable=ture.
>     > So ADB gives an exception because of this.
>     >
>     > if you want to remove this use -Eosv when genrating the code.
>     >
>     > Amia.
>     >
>     >
>     > On 10/23/07, *Huitang Li* < huitang.li@kpi-consulting.net
>     <ma...@kpi-consulting.net>
>     > <mailto: huitang.li@kpi-consulting.net
>     <ma...@kpi-consulting.net>>> wrote:
>     >
>     >     Hi,
>     >
>     >     I created a web service code based on a wsdl, and it is run
>     in resin
>     >     3.1.3, and I have the soapmonitor activated.  When a web
>     service
>     >     client
>     >     sent a soap message to it, it threw the following exception:
>     >
>     >     java.lang.RuntimeException: Can not serialize OM Element
>     Envelope
>     >         at
>     >     org.apache.axiom.om.impl.llom.OMElementImpl.toString
>     (OMElementImpl.java:916)
>     >         at
>     >    
>     org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:101)
>     >         at org.apache.axis2.engine.Phase.invoke (Phase.java:292)
>     >         at
>     org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
>     >         at
>     >    
>     org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:442)
>     >         at
>     >     org.apache.axis2.transport.http.AxisServlet.handleFault
>     >     (AxisServlet.java:403)
>     >         at
>     >    
>     org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:366)
>     >         at
>     >     org.apache.axis2.transport.http.AxisServlet.doPost
>     (AxisServlet.java:154)
>     >         at javax.servlet.http.HttpServlet.service
>     (HttpServlet.java:153)
>     >         at
>     javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
>     >         at
>     >     com.caucho.server.dispatch.ServletFilterChain.doFilter
>     (ServletFilterChain.java:103)
>     >         at
>     >     com.caucho.server.security.SecurityFilterChain.doFilter
>     >     (SecurityFilterChain.java:134)
>     >         at
>     >     com.caucho.server.webapp.WebAppFilterChain.doFilter
>     (WebAppFilterChain.java:178)
>     >         at
>     >    
>     com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
>     >         at
>     >     com.caucho.server.http.HttpRequest.handleRequest(
>     HttpRequest.java:268)
>     >         at
>     >     com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
>     >         at
>     com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java :690)
>     >         at com.caucho.util.ThreadPool$Item.run (ThreadPool.java:612)
>     >         at java.lang.Thread.run(Thread.java:595)
>     >     Caused by: org.apache.axis2.databinding.ADBException: Property
>     >     cannot be
>     >     null!
>     >         at test.Fault.serialize (Fault.java:95)
>     >         at test.Fault$1.serialize(Fault.java:80)
>     >         at
>     >    
>     org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:82)
>     >         at
>     >    
>     org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume
>
>     >     (OMSourcedElementImpl.java:599)
>     >         at
>     >    
>     org.apache.axiom.soap.impl.llom.SOAPFaultDetailImpl.internalSerialize(SOAPFaultDetailImpl.java:86)
>     >         at
>     >    
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize
>     (OMElementImpl.java
>     >     :756)
>     >         at
>     >    
>     org.apache.axiom.soap.impl.llom.SOAPFaultImpl.internalSerialize(SOAPFaultImpl.java:192)
>     >         at
>     >    
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize
>     (OMElementImpl.java:756)
>     >         at
>     >     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize
>     >     (OMElementImpl.java:772)
>     >         at
>     >    
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize
>     (OMElementImpl.java:756)
>     >         at
>     >    
>     org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java
>     >     :210)
>     >         at
>     >    
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize
>     (OMElementImpl.java:756)
>     >         at
>     >    
>     org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:345)
>     >         at
>     >     org.apache.axiom.om.impl.llom.OMElementImpl.toString
>     >     ( OMElementImpl.java:913)
>     >         ... 18 more
>     >
>     >     This exception will not be shown when all elements in the
>     requesting
>     >     soap message are filled with non-empty (no-blankspace) values.
>     >
>     >     I notice that the exception is thrown from the following
>     >     axis2-generated
>     >     code:
>     >
>     >
>     >        public void serialize(final javax.xml.namespace.QName
>     parentQName,
>     >             final org.apache.axiom.om.OMFactory factory,
>     >
>     >    
>     org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter
>     >     xmlWriter)
>     >             throws javax.xml.stream.XMLStreamException,
>     >                 org.apache.axis2.databinding.ADBException {
>     >             //We can safely assume an element has only one type
>     associated
>     >     with it
>     >             if (localFault == null) {
>     >                 throw new org.apache.axis2.databinding.ADBException(
>     >                     "Property cannot be null!");
>     >     <========================  the line where the exception is
>     thrown.
>     >             }
>     >
>     >              localFault.serialize(MY_QNAME, factory, xmlWriter);
>     >         }
>     >
>     >
>     >     My question is: In the line where the exception is thrown,
>     why is the
>     >     parameter localFault null? How to make it as a non-null value?
>     >
>     >     Thanks.
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >
>     >    
>     ---------------------------------------------------------------------
>     >     To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>     <ma...@ws.apache.org>
>     >     <mailto:axis-user-unsubscribe@ws.apache.org
>     <ma...@ws.apache.org>>
>     >     For additional commands, e-mail:
>     axis-user-help@ws.apache.org <ma...@ws.apache.org>
>     >     <mailto:axis-user-help@ws.apache.org
>     <ma...@ws.apache.org>>
>     >
>     >
>     >
>     >
>     > --
>     > Amila Suriarachchi,
>     > WSO2 Inc.
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>     <ma...@ws.apache.org>
>     For additional commands, e-mail: axis-user-help@ws.apache.org
>     <ma...@ws.apache.org>
>
>
>
>
> -- 
> Amila Suriarachchi,
> WSO2 Inc. 

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: org.apache.axis2.databinding.ADBException: Property cannot be null!

Posted by Amila Suriarachchi <am...@gmail.com>.
On 10/23/07, Huitang Li <hu...@kpi-consulting.net> wrote:
>
> Excellent! Thanks very much. Somehow -Eosv does not solve the problem.


what is the  Axis2 version you use? this is available in Axis2 1.3.

So I put the nillable="true" in the element there, and it works.
>
>
>
>
>
> Amila Suriarachchi wrote:
> > this means your object structure do not have loaded the required fault
> > elements.
> >
> > see you schema there should be an element named fault without
> > minOccurs=0 or nillable=ture.
> > So ADB gives an exception because of this.
> >
> > if you want to remove this use -Eosv when genrating the code.
> >
> > Amia.
> >
> >
> > On 10/23/07, *Huitang Li* < huitang.li@kpi-consulting.net
> > <ma...@kpi-consulting.net>> wrote:
> >
> >     Hi,
> >
> >     I created a web service code based on a wsdl, and it is run in resin
> >     3.1.3, and I have the soapmonitor activated.  When a web service
> >     client
> >     sent a soap message to it, it threw the following exception:
> >
> >     java.lang.RuntimeException: Can not serialize OM Element Envelope
> >         at
> >     org.apache.axiom.om.impl.llom.OMElementImpl.toString(
> OMElementImpl.java:916)
> >         at
> >     org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler.invoke(
> SOAPMonitorHandler.java:101)
> >         at org.apache.axis2.engine.Phase.invoke (Phase.java:292)
> >         at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java
> :212)
> >         at
> >     org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:442)
> >         at
> >     org.apache.axis2.transport.http.AxisServlet.handleFault
> >     (AxisServlet.java:403)
> >         at
> >     org.apache.axis2.transport.http.AxisServlet.processAxisFault(
> AxisServlet.java:366)
> >         at
> >     org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java
> :154)
> >         at javax.servlet.http.HttpServlet.service (HttpServlet.java:153)
> >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
> >         at
> >     com.caucho.server.dispatch.ServletFilterChain.doFilter(
> ServletFilterChain.java:103)
> >         at
> >     com.caucho.server.security.SecurityFilterChain.doFilter
> >     (SecurityFilterChain.java:134)
> >         at
> >     com.caucho.server.webapp.WebAppFilterChain.doFilter(
> WebAppFilterChain.java:178)
> >         at
> >     com.caucho.server.dispatch.ServletInvocation.service(
> ServletInvocation.java:241)
> >         at
> >     com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java
> :268)
> >         at
> >     com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
> >         at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
> >         at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
> >         at java.lang.Thread.run(Thread.java:595)
> >     Caused by: org.apache.axis2.databinding.ADBException: Property
> >     cannot be
> >     null!
> >         at test.Fault.serialize (Fault.java:95)
> >         at test.Fault$1.serialize(Fault.java:80)
> >         at
> >     org.apache.axis2.databinding.ADBDataSource.serialize(
> ADBDataSource.java:82)
> >         at
> >
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume
> >     (OMSourcedElementImpl.java:599)
> >         at
> >
> org.apache.axiom.soap.impl.llom.SOAPFaultDetailImpl.internalSerialize(
> SOAPFaultDetailImpl.java:86)
> >         at
> >     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java
> >     :756)
> >         at
> >     org.apache.axiom.soap.impl.llom.SOAPFaultImpl.internalSerialize(
> SOAPFaultImpl.java:192)
> >         at
> >     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:756)
> >         at
> >     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize
> >     (OMElementImpl.java:772)
> >         at
> >     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:756)
> >         at
> >     org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(
> SOAPEnvelopeImpl.java
> >     :210)
> >         at
> >     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:756)
> >         at
> >     org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java
> :345)
> >         at
> >     org.apache.axiom.om.impl.llom.OMElementImpl.toString
> >     (OMElementImpl.java:913)
> >         ... 18 more
> >
> >     This exception will not be shown when all elements in the requesting
> >     soap message are filled with non-empty (no-blankspace) values.
> >
> >     I notice that the exception is thrown from the following
> >     axis2-generated
> >     code:
> >
> >
> >        public void serialize(final javax.xml.namespace.QNameparentQName,
> >             final org.apache.axiom.om.OMFactory factory,
> >
> >     org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter
> >     xmlWriter)
> >             throws javax.xml.stream.XMLStreamException,
> >                 org.apache.axis2.databinding.ADBException {
> >             //We can safely assume an element has only one type
> associated
> >     with it
> >             if (localFault == null) {
> >                 throw new org.apache.axis2.databinding.ADBException(
> >                     "Property cannot be null!");
> >     <========================  the line where the exception is thrown.
> >             }
> >
> >              localFault.serialize(MY_QNAME, factory, xmlWriter);
> >         }
> >
> >
> >     My question is: In the line where the exception is thrown, why is
> the
> >     parameter localFault null? How to make it as a non-null value?
> >
> >     Thanks.
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> ---------------------------------------------------------------------
> >     To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> >     <ma...@ws.apache.org>
> >     For additional commands, e-mail: axis-user-help@ws.apache.org
> >     <ma...@ws.apache.org>
> >
> >
> >
> >
> > --
> > Amila Suriarachchi,
> > WSO2 Inc.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Amila Suriarachchi,
WSO2 Inc.

Re: org.apache.axis2.databinding.ADBException: Property cannot be null!

Posted by Huitang Li <hu...@kpi-consulting.net>.
Excellent! Thanks very much. Somehow -Eosv does not solve the problem. 
So I put the nillable="true" in the element there, and it works.





Amila Suriarachchi wrote:
> this means your object structure do not have loaded the required fault 
> elements.
>
> see you schema there should be an element named fault without 
> minOccurs=0 or nillable=ture.
> So ADB gives an exception because of this.
>
> if you want to remove this use -Eosv when genrating the code.
>
> Amia.
>
>
> On 10/23/07, *Huitang Li* < huitang.li@kpi-consulting.net 
> <ma...@kpi-consulting.net>> wrote:
>
>     Hi,
>
>     I created a web service code based on a wsdl, and it is run in resin
>     3.1.3, and I have the soapmonitor activated.  When a web service
>     client
>     sent a soap message to it, it threw the following exception:
>
>     java.lang.RuntimeException: Can not serialize OM Element Envelope
>         at
>     org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:916)
>         at
>     org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:101)
>         at org.apache.axis2.engine.Phase.invoke (Phase.java:292)
>         at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
>         at
>     org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:442)
>         at
>     org.apache.axis2.transport.http.AxisServlet.handleFault
>     (AxisServlet.java:403)
>         at
>     org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:366)
>         at
>     org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:154)
>         at javax.servlet.http.HttpServlet.service (HttpServlet.java:153)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
>         at
>     com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
>         at
>     com.caucho.server.security.SecurityFilterChain.doFilter
>     (SecurityFilterChain.java:134)
>         at
>     com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
>         at
>     com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
>         at
>     com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
>         at
>     com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
>         at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java :690)
>         at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
>         at java.lang.Thread.run(Thread.java:595)
>     Caused by: org.apache.axis2.databinding.ADBException: Property
>     cannot be
>     null!
>         at test.Fault.serialize (Fault.java:95)
>         at test.Fault$1.serialize(Fault.java:80)
>         at
>     org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:82)
>         at
>     org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume
>     (OMSourcedElementImpl.java:599)
>         at
>     org.apache.axiom.soap.impl.llom.SOAPFaultDetailImpl.internalSerialize(SOAPFaultDetailImpl.java:86)
>         at
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java
>     :756)
>         at
>     org.apache.axiom.soap.impl.llom.SOAPFaultImpl.internalSerialize(SOAPFaultImpl.java:192)
>         at
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
>         at
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize
>     (OMElementImpl.java:772)
>         at
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
>         at
>     org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java
>     :210)
>         at
>     org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:756)
>         at
>     org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:345)
>         at
>     org.apache.axiom.om.impl.llom.OMElementImpl.toString
>     (OMElementImpl.java:913)
>         ... 18 more
>
>     This exception will not be shown when all elements in the requesting
>     soap message are filled with non-empty (no-blankspace) values.
>
>     I notice that the exception is thrown from the following
>     axis2-generated
>     code:
>
>
>        public void serialize(final javax.xml.namespace.QName parentQName,
>             final org.apache.axiom.om.OMFactory factory,
>
>     org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter
>     xmlWriter)
>             throws javax.xml.stream.XMLStreamException,
>                 org.apache.axis2.databinding.ADBException {
>             //We can safely assume an element has only one type associated
>     with it
>             if (localFault == null) {
>                 throw new org.apache.axis2.databinding.ADBException(
>                     "Property cannot be null!");
>     <========================  the line where the exception is thrown.
>             }
>
>              localFault.serialize(MY_QNAME, factory, xmlWriter);
>         }
>
>
>     My question is: In the line where the exception is thrown, why is the
>     parameter localFault null? How to make it as a non-null value?
>
>     Thanks.
>
>
>
>
>
>
>
>
>
>     ---------------------------------------------------------------------
>     To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>     <ma...@ws.apache.org>
>     For additional commands, e-mail: axis-user-help@ws.apache.org
>     <ma...@ws.apache.org>
>
>
>
>
> -- 
> Amila Suriarachchi,
> WSO2 Inc. 

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Re: org.apache.axis2.databinding.ADBException: Property cannot be null!

Posted by Amila Suriarachchi <am...@gmail.com>.
this means your object structure do not have loaded the required fault
elements.

see you schema there should be an element named fault without minOccurs=0 or
nillable=ture.
So ADB gives an exception because of this.

if you want to remove this use -Eosv when genrating the code.

Amia.


On 10/23/07, Huitang Li <hu...@kpi-consulting.net> wrote:
>
> Hi,
>
> I created a web service code based on a wsdl, and it is run in resin
> 3.1.3, and I have the soapmonitor activated.  When a web service client
> sent a soap message to it, it threw the following exception:
>
> java.lang.RuntimeException: Can not serialize OM Element Envelope
>     at
> org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java
> :916)
>     at
> org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler.invoke(
> SOAPMonitorHandler.java:101)
>     at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
>     at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
>     at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:442)
>     at
> org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java
> :403)
>     at
> org.apache.axis2.transport.http.AxisServlet.processAxisFault(
> AxisServlet.java:366)
>     at
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:154)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:153)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
>     at
> com.caucho.server.dispatch.ServletFilterChain.doFilter(
> ServletFilterChain.java:103)
>     at
> com.caucho.server.security.SecurityFilterChain.doFilter(
> SecurityFilterChain.java:134)
>     at
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java
> :178)
>     at
> com.caucho.server.dispatch.ServletInvocation.service(
> ServletInvocation.java:241)
>     at
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
>     at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
>     at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
>     at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.axis2.databinding.ADBException: Property cannot be
> null!
>     at test.Fault.serialize(Fault.java:95)
>     at test.Fault$1.serialize(Fault.java:80)
>     at
> org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java
> :82)
>     at
>
> org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerializeAndConsume
> (OMSourcedElementImpl.java:599)
>     at
> org.apache.axiom.soap.impl.llom.SOAPFaultDetailImpl.internalSerialize(
> SOAPFaultDetailImpl.java:86)
>     at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:756)
>     at
> org.apache.axiom.soap.impl.llom.SOAPFaultImpl.internalSerialize(
> SOAPFaultImpl.java:192)
>     at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:756)
>     at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:772)
>     at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:756)
>     at
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(
> SOAPEnvelopeImpl.java:210)
>     at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:756)
>     at
> org.apache.axiom.om.impl.llom.OMNodeImpl.serialize(OMNodeImpl.java:345)
>     at
> org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java
> :913)
>     ... 18 more
>
> This exception will not be shown when all elements in the requesting
> soap message are filled with non-empty (no-blankspace) values.
>
> I notice that the exception is thrown from the following axis2-generated
> code:
>
>
>    public void serialize(final javax.xml.namespace.QName parentQName,
>         final org.apache.axiom.om.OMFactory factory,
>
> org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter
> xmlWriter)
>         throws javax.xml.stream.XMLStreamException,
>             org.apache.axis2.databinding.ADBException {
>         //We can safely assume an element has only one type associated
> with it
>         if (localFault == null) {
>             throw new org.apache.axis2.databinding.ADBException(
>                 "Property cannot be null!");
> <========================  the line where the exception is thrown.
>         }
>
>         localFault.serialize(MY_QNAME, factory, xmlWriter);
>     }
>
>
> My question is: In the line where the exception is thrown, why is the
> parameter localFault null? How to make it as a non-null value?
>
> Thanks.
>
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Amila Suriarachchi,
WSO2 Inc.