You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Jeff Peterson (JIRA)" <ji...@apache.org> on 2007/08/08 06:56:01 UTC

[jira] Updated: (SM-1021) DOMException: NAMESPACE_ERR

     [ https://issues.apache.org/activemq/browse/SM-1021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Peterson updated SM-1021:
------------------------------

    Attachment: SM-1021.patch

Added patch + unit test

> 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
>         Attachments: SM-1021.patch
>
>
> 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.