这两天学习Spring Webservice,使用其包中自带的示例 tuturiol 时报错:
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.
Google了好久,都没有答案,发现有很多人都遇到了这种情况,在Spring的论坛上老外也问了同样的问题,虽然没有准确的答案,但大体知道了由于包的版本问题造成的。
后来我试了另一个 echo 示例, 尽量引入最少的包,结果这个成功运行了。然后我对比这两个例子,从配置文件一点点的对比不同点,后来终于发现是由于 前一个例子(tuturiol)使用了JDOM,而JDOM又依赖一些包,就是这些包出现了问题。随后我改了 tuturiol,移除了jdom和相关包,终于通过了。
所以原因可能是由下列包 或之一引起的,这里记录一下:
xalan.jar
xerces.jar
xercesImpl.jar
xml-apis.jar