根据条件返回正确的WSDL客户端 - 相同的客户端但不同的命名空间

时间:2017-10-09 14:18:03

标签: c# .net web-services wsdl

我有两个WSDL文件。它们几乎完全相同,除了名称空间和端点 第一点是测试系统,第二点是生产 测试 - https://sandbox.dhl24.com.pl/webapi2.html
生产 - https://dhl24.com.pl/webapi2.html

不,我想根据条件从TEST切换到PRODUCTION - 有工厂可以返回TEST或PRODUCTION的客户。
更改端点没有帮助,因为生成的Reference.cs中的命名空间不同:

[System.ServiceModel.ServiceContractAttribute(Namespace="https://sandbox.dhl24.com.pl/webapi2/provider/service.html?ws=1", ConfigurationName="TEST.DHL24WebapiPort")]

[System.ServiceModel.ServiceContractAttribute(Namespace="https://dhl24.com.pl/webapi2/provider/service.html?ws=1", ConfigurationName="PRODUCTION.DHL24WebapiPort")]

我知道我可以使用Visual Studio重新配置服务参考(右键单击 - >配置服务参考...)但我想为两个系统使用相同的代码并配置配置文件中的所有内容。

我知道我可以使用条件编译符号,但这排除了从配置文件切换服务的能力。

是否有更改服务命名空间的选项?

我可以将两个服务添加到项目中(在不同的名称空间中),但它们没有任何共同点,所以我必须创建接口和所有必需的公共类并手动编辑两个Reference.cs文件。

理想情况下,两个服务都具有相同的命名空间但端点不同,但我不能这样做,因为我不是网络服务的创建者。

0 个答案:

没有答案