我正在处理的情况不是最理想的,所以请耐心等待。
我们要使用外部(非.NET) SOAP-webservices 。
出于某种原因,每个方法在单独的Web服务中实现,并且具有自己的WSDL 。
Web服务返回的许多对象具有完全相同的设计,名称和xml命名空间。
“添加服务参考”是因为:
- 内部开发团队习惯了它
- 我们想保留自动“更新服务参考”
第二个参考添加了“所有参考组件中的重用类型”选项 所有类都会在新引用下重新生成。
重新 类来自第一个参考 的方法
答案 0 :(得分:19)
如果打开服务引用的Reference.svcmap(要查找它,检查“显示所有文件”并展开服务引用)并手动编辑它,而不是通过GUI设置WSDL URI,则可以添加多个WSDL。 E.g。
<MetadataSources>
<MetadataSource Address="http://localhost/example1.wsdl" Protocol="http" SourceId="1" />
<MetadataSource Address="http://localhost/example2.wsdl" Protocol="http" SourceId="2" />
</MetadataSources>
当您在一个服务引用中有多个WSDL时,只要它们在不同的WSDL中相同,就会在您描述时重用这些类。如果存在具有相同名称但定义不同的类,则其中一个类的名称后面会附加一个“1”后缀。