dev@jax-ws.java.net

Re: NPE in StAXConnector.java:62

From: Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM>
Date: Sun, 19 Feb 2006 09:23:41 -0800

This is a bug in XMLStreamBuffer. I fixed it (but I'm not VPN-ed right
now so I can't integrate that to JAX-WS RI.)

The reason you saw it but not Vivek was probably you were dumping it.

That's the uncertainty principle --- if you try to observe a behavior,
it changes...

Arun Gupta wrote:
> For the following SOAP response message received by a Dispatch<Source>
> client:
>
> <soapenv:Envelope
> xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><env:Fault
> xmlns:env="http://www
> .w3.org/2003/05/soap-envelope"><env:Code><env:Value>env:Sender</env:Value><env:Subcode><env:Value
> xmlns:ns1="http://www.
> w3.org/2005/08/addressing">ns1:InvalidMessageAddressingHeader</env:Value><env:Subcode><env:Value
> xmlns:wsa="http://www.w
> 3.org/2005/08/addressing">wsa:InvalidCardinality</env:Value></env:Subcode></env:Subcode></env:Code><env:Reason><env:Text
> xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">A
> header representing a Message Addressing Property i
> s not valid and the message cannot be
> processed</env:Text></env:Reason><env:Detail><ProblemHeaderQName
> xmlns="http://www
> .w3.org/2005/08/addressing">MessageID</ProblemHeaderQName></env:Detail></env:Fault></soapenv:Body></soapenv:Envelope>
>
> following exception is thrown while deserializing:
>
> java.lang.NullPointerException
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXConnector$1.getSystemId(StAXConnector.java:62)
> at
> javax.xml.bind.helpers.ValidationEventLocatorImpl.<init>(ValidationEventLocatorImpl.java:58)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXConnector$1.getLocation(StAXConnector.java:50)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleError(UnmarshallingContext.java:552)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleError(UnmarshallingContext.java:548)
> at
> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$22.parse(RuntimeBuiltinLeafInfoImpl.java:583)
> at
> com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl$22.parse(RuntimeBuiltinLeafInfoImpl.java:596)
> at
> com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.parse(TransducedAccess
> or.java:197)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.LeafPropertyLoader.text(LeafPropertyLoader.java:25)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.text(UnmarshallingContext.java:380)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.InterningXmlVisitor.text(InterningXmlVisitor.java:53)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.processText(StAXStreamConnector.java:292)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleEndElement(StAXStreamConnector.java:170)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:139)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:332)
> at
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:304)
> at
> com.sun.xml.ws.sandbox.message.impl.stream.StreamMessage.readPayloadAsJAXB(StreamMessage.java:160)
> at
> com.sun.xml.ws.sandbox.fault.SOAPFaultBuilder.create(SOAPFaultBuilder.java:268)
> at
> com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:147)
> at
> com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:169)
> at testutil.W3CUtils.sendMessage(W3CUtils.java:111)
> at w3c.s12.client.EchoClient.test1244(EchoClient.java:359)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> Vivek was able to deserialize the payload separately in his environment.
> What might be causing this discrepancy ?
>
> -Arun


-- 
Kohsuke Kawaguchi
Sun Microsystems                   kohsuke.kawaguchi_at_sun.com