[ https://issues.apache.org/activemq/browse/SM-1021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet resolved SM-1021. --------------------------------- Resolution: Fixed Assignee: Guillaume Nodet Sending servicemix-soap/src/main/java/org/apache/servicemix/soap/handlers/addressing/AddressingHandler.java Adding servicemix-soap/src/test/java/org/apache/servicemix/soap/handlers/addressing Adding servicemix-soap/src/test/java/org/apache/servicemix/soap/handlers/addressing/AddressingHandlerTest.java Transmitting file data .. Committed revision 579618. Sending servicemix-soap/src/main/java/org/apache/servicemix/soap/handlers/addressing/AddressingHandler.java Adding servicemix-soap/src/test/java/org/apache/servicemix/soap/handlers/addressing Adding servicemix-soap/src/test/java/org/apache/servicemix/soap/handlers/addressing/AddressingHandlerTest.java Transmitting file data .. Committed revision 579619. > 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 > Assignee: Guillaume Nodet > Fix For: 3.1.3, 3.2 > > 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.