axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "robert lazarski" <robertlazar...@gmail.com>
Subject Re: [axis2] Strange NPE in 1.2
Date Mon, 14 May 2007 02:24:42 GMT
build() on the SoapEnvelope / Payload ? I should probably know this but ...
How do I get a handle on that, client side, with xmlbeans ? How do I build
the tree using a stub, before I send it ? Late night on sunday, hints please
;-).

Robert

On 5/13/07, Davanum Srinivas < davanum@gmail.com> wrote:
>
> Robert,
>
> Could you try calling build() to make sure the whole thing is built
> (so that Streaming is not used)?
>
> thanks,
> dims
>
> On 5/13/07, robert lazarski <robertlazarski@gmail.com> wrote:
> > Hi all,
> >
> > I'm seeing this exception in the 1.2 release:
> >
> > [java] java.lang.NullPointerException
> >      [java]     at
> > com.ctc.wstx.sw.BaseNsStreamWriter.doWriteDefaultNs(
> BaseNsStreamWriter.java:529)
> >      [java]     at
> > com.ctc.wstx.sw.SimpleNsStreamWriter.writeDefaultNamespace (
> SimpleNsStreamWriter.java:113)
> >      [java]     at
> > com.ctc.wstx.sw.SimpleNsStreamWriter.writeNamespace(
> SimpleNsStreamWriter.java:121)
> >      [java]     at
> > org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeNamespace
> > (MTOMXMLStreamWriter.java:148)
> >      [java]     at
> >
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeElement(
> StreamingOMSerializer.java:238)
> >      [java]     at
> > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode
> > (StreamingOMSerializer.java:71)
> >      [java]     at
> > org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(
> StreamingOMSerializer.java:54)
> >      [java]     at
> > org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream
> > (OMSerializerUtil.java:490)
> >      [java]     at
> > org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(
> OMElementImpl.java:783)
> >      [java]     at
> > org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume
> > (OMElementImpl.java:808)
> >      [java]     at
> > org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeInternally(
> SOAPEnvelopeImpl.java:234)
> >      [java]     at
> > org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize
> > (SOAPEnvelopeImpl.java:222)
> >      [java]     at
> > org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(
> OMElementImpl.java:808)
> >      [java]     at
> > org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume
> > (OMNodeImpl.java:418)
> >      [java]     at
> > org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(
> SOAPMessageFormatter.java:55)
> >      [java]     at
> > org.apache.axis2.transport.http.AxisRequestEntity.writeRequest (
> AxisRequestEntity.java
> > :84)
> >      [java]     at
> >
> org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody
> (EntityEnclosingMethod.java:495)
> >      [java]     at
> > org.apache.commons.httpclient.HttpMethodBase.writeRequest (
> HttpMethodBase.java
> > :1973)
> >      [java]     at
> > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java
> :993)
> >      [java]     at
> > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry (
> HttpMethodDirector.java:397)
> >      [java]     at
> > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(
> HttpMethodDirector.java:170)
> >      [java]     at
> > org.apache.commons.httpclient.HttpClient.executeMethod (HttpClient.java
> :396)
> >      [java]     at
> > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java
> :346)
> >      [java]     at
> > org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod (
> AbstractHTTPSender.java:558)
> >      [java]     at
> > org.apache.axis2.transport.http.HTTPSender.sendViaPost
> > (HTTPSender.java:176)
> >      [java]     at
> > org.apache.axis2.transport.http.HTTPSender.send (HTTPSender.java:73)
> >      [java]     at
> >
> org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons
> (CommonsHTTPTransportSender.java
> > :305)
> >      [java]     at
> > org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke (
> CommonsHTTPTransportSender.java:201)
> >      [java]     at
> > org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:452)
> >      [java]     at
> > org.apache.axis2.description.OutInAxisOperationClient.send (
> OutInAxisOperation.java:330)
> >      [java]     at
> > org.apache.axis2.description.OutInAxisOperationClient.execute(
> OutInAxisOperation.java:294)
> >      [java]     at
> >
> br.hapvida.webservices.tissloteguias.endpoint.TissLoteGuiasStub.tissLoteGuias_Operation(
> TissLoteGuiasStub.java:215)
> >      [java]     at
> > org.test.LotesClient.invokeLotes(LotesClient.java:56)
> >      [java]     at org.test.LotesClient.main (LotesClient.java:23)
> >
> > ...
> >
> > Which curiously seems to match a recent report to the users list:
> >
> > http://marc.info/?l=axis-user&m=117892343312805&w=2
> >
> >
> > In my case this error happens on an xmlbeans client invokation which
> never
> > reaches the server - its a pretty complex, government like schema so I
> need
> > xmlbeans. Here's my code, which seems to passing a valid xmlbeans
> document:
> >
> > package org.test;
> >
> > import java.io.File;
> > import java.util.ArrayList;
> > import java.util.List;
> >
> > import org.apache.axis2.addressing.EndpointReference;
> > import org.apache.axis2.client.Options;
> > import org.apache.xmlbeans.XmlError;
> > import org.apache.xmlbeans.XmlOptions;
> >
> > import
> > br.gov.ans.www.padroes.tiss.schemas.MensagemTISSDocument;
> > import
> > br.gov.ans.www.tiss.ws.tipos.tissloteguias.ProtocoloRecebimentoDocument
> > ;
> > import
> > br.hapvida.webservices.tissloteguias.endpoint.TissLoteGuiasStub;
> >
> > public class LotesClient {
> >
> >      /** Access point inside the servlet container. **/
> >     private static EndpointReference targetEPR =
> >        new EndpointReference(
> >
> > " http://localhost:9080/axis2-1.2-SNAPSHOT/services/tissLoteGuias");
> >         public static void main(String[] args) {
> >             invokeLotes();
> >         }
> >
> >         public static void invokeLotes() {
> >         // lotes request document
> >
> > br.gov.ans.www.tiss.ws.tipos.tissloteguias.LoteGuiasDocument
> > loteGuiasDocument =
> >
> >
> br.gov.ans.www.tiss.ws.tipos.tissloteguias.LoteGuiasDocument.Factory.newInstance();
> >
> >         try {
> >             // lotes request
> >             MensagemTISSDocument mtd_lotes_request =
> > MensagemTISSDocument.Factory.parse (new
> > File("/home/iksrazal/workspace/hapvida/wsdl/ENVIO_LOTE_GUIAS.xml"));
> >
> > br.gov.ans.www.tiss.ws.tipos.tissloteguias.WsLoteGuias
> > wsLoteGuias =
> >
> >
> br.gov.ans.www.tiss.ws.tipos.tissloteguias.WsLoteGuias.Factory.newInstance
> > ();
> >
> >
> > wsLoteGuias.setCabecalho
> (mtd_lotes_request.getMensagemTISS().getCabecalho());
> >
> > wsLoteGuias.setLoteGuias
> (mtd_lotes_request.getMensagemTISS().getPrestadorParaOperadora().getLoteGuias());
> >
> > wsLoteGuias.setHash(mtd_lotes_request.getMensagemTISS().getEpilogo().getHash());
> >
> >             loteGuiasDocument.setLoteGuias(wsLoteGuias);
> >             System.out.println("\nSending request loteGuiasDocument\n");
>
> >             System.out.println(loteGuiasDocument.xmlText());
> >
> >             TissLoteGuiasStub stub = new TissLoteGuiasStub();
> >             Options options = new Options();
> >             options.setTo (targetEPR);
> >             stub._getServiceClient().setOptions(options);
> >
> >             XmlError error =
> > validateWsLoteGuias(wsLoteGuias);
> >             if (error != null) {
> >                 throw new Exception("Objeto wsLoteGuias "
> >                     + "is invalid: "
> >                     + error);
> >             }
> >             ProtocoloRecebimentoDocument protocoloRecebimentoDocument =
> > stub.tissLoteGuias_Operation(loteGuiasDocument);
> >             System.out.println("\nRecieved response
> > protocoloRecebimentoDocument\n");
> >             System.out.println(protocoloRecebimentoDocument);
> >         } catch (Exception ex) {
> >             ex.printStackTrace ();
> >         }
> >    }
> >
> >    public static XmlError validateWsLoteGuias (
> >
> > br.gov.ans.www.tiss.ws.tipos.tissloteguias.WsLoteGuias
> > wsLoteGuias) {
> >        // Create an XmlOptions instance and set the error listener.
> >        XmlOptions validateOptions = new XmlOptions();
> >        List<XmlError> errorList = new ArrayList<XmlError>();
> >        validateOptions.setErrorListener(errorList);
> >        if (!wsLoteGuias.validate(validateOptions)) {
> >            for (int i = 0; i < errorList.size(); i++) {
> >                XmlError error = (XmlError)errorList.get(i);
> >                System.out.println("Object wsLoteGuias "
> >                    + "is invalid, "
> >                    + "The following field is empty: ");
> >                 System.out.println("\n");
> >                System.out.println("Error Message: " + error.getMessage()
> +
> > "\n");
> >                System.out.println("Location of invalid XML: "
> >                    + error.getCursorLocation().xmlText() + "\n");
> >            }
> >            return errorList.get(0);
> >        }
> >        System.out.println("wsLoteGuias seems to be valid\n");
> >        return null;
> >    }
> > }
> >
> > Any clues on what is going wrong?
> > Robert
> >
>
>
> --
> Davanum Srinivas :: http://davanum.wordpress.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>

Mime
View raw message