dev@jax-ws.java.net

Prefix cannot be null

From: Arun Gupta <Arun.Gupta_at_Sun.COM>
Date: Thu, 17 Aug 2006 17:33:36 -0700

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