在wsdl中使用targetNamespace

时间:2012-09-06 11:28:41

标签: php web-services wsdl

为什么我们在web服务的wsdl文件中使用targetNamespace,targetNamespace的实际目的是什么?我在http://example.com/webservice/catalog.php上有一个Web服务,我想通过wordpress插件访问Web服务。我的插件wsdl文件如下所示

<definitions name='shop'
  targetNamespace='http://example.com/soap/'
  xmlns:tns='http://example.com/soap/'
.
.
.
.
<service name='CatalogService'>
    <port name='CatalogPort' binding='CatalogBinding'>
      <soap:address location='http://example.com/webservice/soap-server.php'/>
    </port>
  </service>

我写了两行下面的例子,是吗?

targetNamespace='http://example.com/soap/'
xmlns:tns='http://example.com/soap/'

我无法理解wsdl文件中targetNamespace的实际用途是什么。

1 个答案:

答案 0 :(得分:2)

众所周知,WSDL文件可以导入其他WSDL文件,总是存在名称冲突的可能性。在targetnamespace的帮助下,我们可以确保taget标记不会与wsdl中的任何其他标记冲突。您可以从... IBM - Web Service (r)evolution Part-4

了解更多信息