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* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> 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* < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>> 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: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> For additional commands, e-mail:
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
>
>
>
> --
> Amila Suriarachchi,
> WSO2 Inc.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
--
Amila Suriarachchi,
WSO2 Inc.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]