Hi guys,
I am still having problem with the latest build.
Here is the scenario: I am trying to talk to Windows Sharepoint Web Services through NTLM. In the NTLM authentication, I believe there are several round-trips between the client/server. The error happens in the second trip to the server and here is the stack:
Thread [main] (Suspended)
OMStAXWrapper.next() line: 872
StreamingOMSerializer.serializeNode(XMLStreamReader, XMLStreamWriter) line: 71
StreamingOMSerializer.serialize(XMLStreamReader, XMLStreamWriter) line: 56
OMSerializerUtil.serializeByPullStream(OMElement, XMLStreamWriter, boolean) line: 325
SOAPEnvelopeImpl(OMElementImpl).internalSerialize(XMLStreamWriter, boolean) line: 791
SOAPEnvelopeImpl.internalSerialize
(XMLStreamWriter, boolean) line: 171
SOAPEnvelopeImpl(OMElementImpl).internalSerializeAndConsume(XMLStreamWriter) line: 810
SOAPEnvelopeImpl(OMNodeImpl).serializeAndConsume(OutputStream, OMOutputFormat) line: 381
SOAPOverHTTPSender$AxisSOAPRequestEntity.handleOMOutput(OutputStream, boolean) line: 178
SOAPOverHTTPSender$AxisSOAPRequestEntity.writeRequest(OutputStream) line: 213
PostMethod(EntityEnclosingMethod).writeRequestBody(HttpState, HttpConnection) line: 495
PostMethod(HttpMethodBase).writeRequest(HttpState, HttpConnection) line: 1973
PostMethod(HttpMethodBase).execute(HttpState, HttpConnection) line: 993
HttpMethodDirector.executeWithRetry(HttpMethod) line: 397
HttpMethodDirector.executeMethod(HttpMethod) line: 170
HttpClient.executeMethod(HostConfiguration, HttpMethod, HttpState) line: 396
HttpClient.executeMethod(HostConfiguration, HttpMethod) line: 346
SOAPOverHTTPSender(AbstractHTTPSender).executeMethod(HttpClient, MessageContext, URL, HttpMethod) line: 594
SOAPOverHTTPSender.send(MessageContext, OMElement, URL, String) line: 102
CommonsHTTPTransportSender.writeMessageWithCommons
(MessageContext, EndpointReference, OMElement, OMOutputFormat) line: 298
CommonsHTTPTransportSender.invoke(MessageContext) line: 206
AxisEngine.send(MessageContext) line: 615
OutInAxisOperationClient.send
(MessageContext) line: 328
OutInAxisOperationClient.execute(boolean) line: 279
As far as I can understand,
In OMStAXWrapper,
state is set to SWITCH_AT_NEXT;
in private void updateNextNode() ,
then in
public int next() throws XMLStreamException {
case SWITCH_AT_NEXT:
state = SWITCHED;
// load the parser
try {
parser = (XMLStreamReader)
builder.getParser();
.
In the first request to the server, this process happened once, and the parser is returned from the above call. However, in the second iteration, the same thing happened. But because the parser has been accessed, an exception is thrown. My question is, should the parser be switched at all??? If it's not supposed to be switched, how do I stop it from being switched?
Since I don't know the whole story, could someone take a deeper look at the issue? This is really driving me nuts!
Thanks,
Jeff
- More information on OMStAXWrapper::builder.getParser() exce... Jeff Ling
