Thanks Davanum,

That resolved the issue on the request side, but unfortunately what looks
(to me?!) like a similar error now occurs when the server is serializing its
response.

(This is the same client and server, generated successfully using
wsdl2java).

org.apache.axis2.AxisFault: unknown
       at org.apache.axis2.description.OutInAxisOperationClient.send(
OutInAxisOperation.java:271)
       at org.apache.axis2.description.OutInAxisOperationClient.execute(
OutInAxisOperation.java:202)
       at com.xyz.generated.wsmms.send.MmsSendServiceStub.SendMms(
MmsSendServiceStub.java:184)
       at com.xyz.wsmms.test.MMSSend.execute(MMSSend.java:161)
       at com.xyz.wsmms.test.MMSSend.main(MMSSend.java:283)
Caused by: java.lang.Exception: java.lang.NullPointerException
       at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteDefaultNs(
BaseNsStreamWriter.java:528)
       at com.ctc.wstx.sw.SimpleNsStreamWriter.writeDefaultNamespace(
SimpleNsStreamWriter.java:111)
       at com.ctc.wstx.sw.SimpleNsStreamWriter.writeNamespace(
SimpleNsStreamWriter.java:119)
       at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeNamespace(
MTOMXMLStreamWriter.java:146)
       at
org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeElement(
StreamingOMSerializer.java:243)
       at
org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(
StreamingOMSerializer.java:76)
       at
org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(
StreamingOMSerializer.java:59)
       at
org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(
OMSerializerUtil.java:473)
       at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
OMElementImpl.java:823)
       at
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(
OMElementImpl.java:848)
       at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
OMElementImpl.java:819)
       at
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(
SOAPEnvelopeImpl.java:180)
       at
org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(
OMElementImpl.java:848)
       at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(
OMNodeImpl.java:429)
       at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream
(CommonsHTTPTransportSender.java:272)
       at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke
(CommonsHTTPTransportSender.java:208)
       at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:674)
       at
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(
AbstractInOutSyncMessageReceiver.java:48)
       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:497)
       at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(
HTTPTransportUtils.java:328)
       at org.apache.axis2.transport.http.HTTPWorker.service(
HTTPWorker.java:230)
       at
org.apache.axis2.transport.http.server.DefaultHttpServiceProcessor.doService
(DefaultHttpServiceProcessor.java:189)
       at org.apache.http.protocol.HttpService.handleRequest(
HttpService.java:123)
       at
org.apache.axis2.transport.http.server.DefaultHttpServiceProcessor.run(
DefaultHttpServiceProcessor.java:261)
       at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
(ThreadPoolExecutor.java:665)
       at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:690)
       at java.lang.Thread.run(Thread.java:619)

       at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
       ... 5 more

This happens if my implementation of the service skeleton interface sets ANY
of the fields in the abcType object (which is itself a member of the
abcElementDocument object returned by the service method).


Have you seen this before?


Many Thanks,
Darren



On 3/16/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote:

Please don't use sun's stax parser, please use the one in axis2 dist
which is the woodstox parser.

thanks,
dims

On 3/16/07, D <[EMAIL PROTECTED]> wrote:
> Hi Folks,
>
> Please can you help....I have generated a webservice client from a wsdl
> using wsdl2java.
>
> When the stub is used to invoke the webservice the following exception
> occurs:
>
> java.lang.NullPointerException
>         at
> com.sun.xml.stream.writers.UTF8OutputStreamWriter.write(
UTF8OutputStreamWriter.java:128)
>         at
> com.sun.xml.stream.writers.XMLStreamWriterImpl.writeDefaultNamespace(
XMLStreamWriterImpl.java:728)
>         at
> com.sun.xml.stream.writers.XMLStreamWriterImpl.writeNamespace(
XMLStreamWriterImpl.java:914)
>         at
> org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeNamespace(
MTOMXMLStreamWriter.java:146)
>         at
>
org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeElement
> (StreamingOMSerializer.java:243)
>         at
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(
StreamingOMSerializer.java:76)
>         at
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize
> (StreamingOMSerializer.java:59)
>         at
> org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(
OMSerializerUtil.java:473)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
OMElementImpl.java
> :823)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(
OMElementImpl.java:848)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
OMElementImpl.java:819)
>         at
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(
SOAPEnvelopeImpl.java:180)
>         at
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(
OMElementImpl.java:848)
>         at
> org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume
> (OMNodeImpl.java:419)
>         at
>
org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.handleOMOutput
(SOAPOverHTTPSender.java:190)
>         at
>
org.apache.axis2.transport.http.SOAPOverHTTPSender$AxisSOAPRequestEntity.writeRequest
> (SOAPOverHTTPSender.java:232)
>         at
>
org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody
(EntityEnclosingMethod.java:495)
>         at
> org.apache.commons.httpclient.HttpMethodBase.writeRequest
> (HttpMethodBase.java:1973)
>         at
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java
:993)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(
HttpMethodDirector.java
> :397)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(
HttpMethodDirector.java:170)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java
:396)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod
> (HttpClient.java:346)
>         at
> org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(
AbstractHTTPSender.java:541)
>         at
> org.apache.axis2.transport.http.SOAPOverHTTPSender.send(
SOAPOverHTTPSender.java
> :119)
>         at
>
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons
(CommonsHTTPTransportSender.java:335)
>         at
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(
CommonsHTTPTransportSender.java
> :204)
>         at
> org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:674)
>         at
> org.apache.axis2.description.OutInAxisOperationClient.send(
OutInAxisOperation.java:237)
>         at
> org.apache.axis2.description.OutInAxisOperationClient.execute
> (OutInAxisOperation.java:202)
>         at
>
com.madeupnamexyz.appproviders.generated.wssms.send.SmsSendServiceStub.SendSms
(SmsSendServiceStub.java:171)
>
> However, if I modify the stub by adding....
>
>         System.out.println ("ENVELOPESTARTS:");
>         try
>         {
>             env.serialize(System.out);
>         }
>         catch(javax.xml.stream.XMLStreamException ex)
>         {
>             System.out.println(ex.toString ());
>         }
>
>         System.out.println(":ENVELOPEENDS:");
>
> ....(i.e. I serialize the envelope to stdout) before the OperationClient
> execute method is called by the stub, the operation completes
successfully.
>
>
> The WSDL and associated XSDs validate and wsdl2java gives no errors, so
it
> looks like env.serialize() is fixing something in the envelope!
>
> The code using the client stub does not set anything to null and the
output
> from env.serialize() shows a valid soap envelope with all the expected
> fields populated with valid values.
>
>
> Has anyone else experienced this?
>
> Is this a known issue?
>
>
> Many Thanks,
> Darren
>
>
>


--
Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web Services Developers

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to