5

我正在使用似乎使用相同对象结构服务器端的多个第三方 Web 服务(来自同一供应商)。其中一项服务允许我按角色查询用户列表,另一项服务允许我按 ID 查询单个用户。为了使其以最佳方式发挥作用,从两种服务返回的用户需要能够互换使用。

输入 wsdl.exe。我知道 /sharetypes 做了我想做的事,但是,当我生成代理时,最终仍然有多个版本的对象(即 Person、Person1、...)。

我正在执行的命令如下:

wsdl.exe /sharetypes /language:VB http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/UserManagementService.asmx?wsdl http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/DataExportService.asmx?wsdl http://mbptest2.seniormbp.com:8080/SeniorSystemsWS/UserProfileService.asmx?wsdl

4

2 回答 2

2

DataExportService 的架构具有 tns 和定义为http://www.senior-systems.com/. UserProfileService 的架构具有 tns 和定义为http://senior-systems.com/.

它们是不同的,即使它们在用作 URL 时碰巧解析到同一个 Web 服务器。XML 命名空间以文本方式进行比较,而不是根据 URL 语法。例如,http://senior-systems.com/andhttp://senior-systems.com将是两个不同的命名空间(提示:一个缺少尾部斜杠)。

于 2009-07-21T20:51:50.617 回答
1

根据MSDN 文档,所有服务中的命名空间、名称和线路签名必须相同。有些东西看起来不匹配,所以这些是开始寻找的好地方。

于 2009-01-28T21:53:27.427 回答