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.