For the following response message received at the client:
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="
http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<To
xmlns="
http://www.w3.org/2005/08/addressing">
http://www.w3.org/2005/08/addressing/anonymous</To>
<Action
xmlns="
http://www.w3.org/2005/08/addressing">
http://example.com/AddNumbersPortType/addNumbersResponse</Action>
</S:Header>
<S:Body>
<addNumbersResponse xmlns="
http://example.com/">
<return>20</return>
</addNumbersResponse>
</S:Body>
</S:Envelope>
I'm getting the following exception only if logging is turned on:
javax.xml.stream.XMLStreamException: Prefix cannot be null
at
com.sun.xml.stream.writers.XMLStreamWriterImpl.writeStartElement(XMLStreamWriterImpl.java:1288)
at
com.sun.xml.stream.writers.XMLStreamWriterImpl.writeStartElement(XMLStreamWriterImpl.java:1266)
at
javanet.staxutils.StreamWriterDelegate.writeStartElement(StreamWriterDelegate.java:115)
at
javanet.staxutils.IndentingXMLStreamWriter.writeStartElement(IndentingXMLStreamWriter.java:209)
at
com.sun.xml.stream.buffer.stax.StreamWriterBufferProcessor.writeFragmentNoEx(StreamWriterBufferProcessor.java
:261)
at
com.sun.xml.stream.buffer.stax.StreamWriterBufferProcessor.writeFragment(StreamWriterBufferProcessor.java:124
)
at
com.sun.xml.stream.buffer.stax.StreamWriterBufferProcessor.process(StreamWriterBufferProcessor.java:55)
at
com.sun.xml.stream.buffer.XMLStreamBuffer.writeToXMLStreamWriter(XMLStreamBuffer.java:219)
at
com.sun.xml.ws.message.stream.StreamHeader.writeTo(StreamHeader.java:219)
at
com.sun.xml.ws.message.stream.StreamMessage.writeEnvelope(StreamMessage.java:240)
at
com.sun.xml.ws.message.stream.StreamMessage.writeTo(StreamMessage.java:223)
at com.sun.xml.ws.util.pipe.DumpPipe.dump(DumpPipe.java:111)
at com.sun.xml.ws.util.pipe.DumpPipe.process(DumpPipe.java:95)
at
com.sun.xml.ws.addressing.WsaClientPipe.process(WsaClientPipe.java:59)
at
com.sun.xml.ws.protocol.soap.ClientMUPipe.process(ClientMUPipe.java:58)
at com.sun.xml.ws.handler.HandlerPipe.process(HandlerPipe.java:107)
at com.sun.xml.ws.handler.HandlerPipe.process(HandlerPipe.java:107)
at com.sun.xml.ws.client.Stub.process(Stub.java:123)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:122)
at
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:238)
at
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:212)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:105)
at $Proxy27.addNumbers(Unknown Source)
If message dump is not turned on, then the test passes. This is in the
MR branch (mr-21) of JAX-WS. I do have the latest streambuffer.jar from
rearch-2005.
Thanks,
-Arun
--
Web Technologies and Standards
Sun Microsystems, Inc.
Blog: http://blogs.sun.com/arungupta