DOMException: NAMESPACE_ERR
---------------------------

                 Key: SM-1021
                 URL: https://issues.apache.org/activemq/browse/SM-1021
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-soap
    Affects Versions: 3.1
         Environment: Java 1.5.0_12

            Reporter: Jeff Peterson


I get the following exception when using the http binding component with 
soap="true":

16:49:48,738 | WARN  | btpool0-37 | jetty                    | 
ervicemix.http.jetty.JCLLogger   93 | /endpoint/
org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change 
an object in a way which is incorrect with regard to namespaces.
        at org.apache.xerces.dom.CoreDocumentImpl.checkNamespaceWF(Unknown 
Source)
        at org.apache.xerces.dom.ElementNSImpl.setName(Unknown Source)
        at org.apache.xerces.dom.ElementNSImpl.<init>(Unknown Source)
        at org.apache.xerces.dom.CoreDocumentImpl.createElementNS(Unknown 
Source)
        at 
org.apache.servicemix.soap.handlers.addressing.AddressingHandler.createHeader(AddressingHandler.java:137)
        at 
org.apache.servicemix.soap.handlers.addressing.AddressingHandler.onReply(AddressingHandler.java:111)
        at org.apache.servicemix.soap.SoapHelper.onReply(SoapHelper.java:181)
        at 
org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:233)
        at 
org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
        at org.mortbay.jetty.Server.handle(Server.java:269)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:333)
        at 
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
        at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)

The problem appears to originate from AddressingHandler.java:111.  
Specifically, the expression:

qname.getPrefix() != null ? qname.getPrefix() : WSA_PREFIX

The WSA MessageID header looks like:

<MessageID 
xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing";>uuid:d8df9c63-dbea-4bbc-a761-9d8a9d982944</MessageID>

Apparently when the message header is parsed, the QName prefix is an empty 
string as opposed to null.  So when 

doc.createElementNS(name.getNamespaceURI(), name.getPrefix() + ":" + 
name.getLocalPart());

is executed on line 137, the element name is ":MessageID", which is not valid.




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to