Java SOAP服务中的名称空间

Java SOAP服务中的名称空间,java,xml,web-services,soap,namespaces,Java,Xml,Web Services,Soap,Namespaces,我正试图用Java为我的WSDL SOAP web服务编写单元测试 当我试图断言XML平等性时,出现了来自web服务的响应应该是什么样子以及它实际上是什么样子的问题 我不知道为什么会出现以下错误: Expected namespace prefix "pns111", but was "ns3" 所以这里,pns111是我为web服务定义的名称空间。为什么我会收到ns3名称空间?为什么特别是ns3?我没有在任何地方定义ns3名称空间,这个名称空间有什么特别之处吗 此外,我还遇到了另一个关于XM

我正试图用Java为我的WSDL SOAP web服务编写单元测试

当我试图断言XML平等性时,出现了来自web服务的响应应该是什么样子以及它实际上是什么样子的问题

我不知道为什么会出现以下错误:

Expected namespace prefix "pns111", but was "ns3"
所以这里,pns111是我为web服务定义的名称空间。为什么我会收到ns3名称空间?为什么特别是ns3?我没有在任何地方定义ns3名称空间,这个名称空间有什么特别之处吗

此外,我还遇到了另一个关于XML相等性断言的错误:

Expected presence of child nodes to be 'true', but was 'false'.

您能给我一些关于这个错误的线索吗?

在XML中,用于名称空间的前缀不必相同,两个XML文档就可以被视为相等。将名称空间前缀视为名称空间URI的缩写会有所帮助

从XML处理的角度来看,这两个XML文档是相同的:

<?xml version="1.0" encoding="UTF-8"?>
<foo:root xmlns:foo="http://example.com">
  <foo:node>Hi!</foo:node>
</foo:root>

你好
以及:


你好
在第一个示例中,
foo
表示“名称空间”。在第二个窗口中,
bar
也指向同一名称空间

因此,在测试中,您应该验证名称空间URI是否与预期URI匹配。使用哪个前缀并不相关,只要它在XML文档中是一致的


这取决于生成XML的库是否将使用您指定的前缀或选择一个前缀本身。

在XML中,用于名称空间的前缀不必相同,两个XML文档就可以被视为相等。将名称空间前缀视为名称空间URI的缩写会有所帮助

从XML处理的角度来看,这两个XML文档是相同的:

<?xml version="1.0" encoding="UTF-8"?>
<foo:root xmlns:foo="http://example.com">
  <foo:node>Hi!</foo:node>
</foo:root>

你好
以及:


你好
在第一个示例中,
foo
表示“名称空间”。在第二个窗口中,
bar
也指向同一名称空间

因此,在测试中,您应该验证名称空间URI是否与预期URI匹配。使用哪个前缀并不相关,只要它在XML文档中是一致的

它取决于生成XML的库是使用您指定的前缀还是自己选择前缀