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]