【发布时间】:2014-03-21 18:28:55
【问题描述】:
我正在使用第三方产品的一些网络服务。 所以我添加了右键单击服务引用并在 web.config 文件中生成代码。
但问题是,对于我使用该服务的每家公司,他们都有一个端点地址(并且他们有 30 多家公司)。因此,为每个公司添加一个引用(在这些 Web 服务中执行相同的方法)是很疯狂的。
所以,我想知道这是否可能以及如何使用一些 GetWebService(url) 方法来创建 WebServiceHelper 类,该方法允许我仅发送 Web 服务的 url 并创建我的服务模型。
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ITestService" receiveTimeout="10:00:00"
sendTimeout="10:00:00" maxReceivedMessageSize="2147483647" transferMode="Buffered"
useDefaultWebProxy="true" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://xxxx.xxx"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITestService"
contract="Test.TESTSOAP" name="BasicHttpBinding_ITestService" />
</client>
【问题讨论】:
-
如果您创建自己的代理,您可以只传递 URL,但是我怀疑这 30 家公司中的每一个都使用完全相同的界面。如果他们这样做,只需使用您自己的代理即可。
-
@LordTakkera ,是的,他们使用相同的接口,这是第三方产品的限制,他们必须为每个公司创建一个Web服务,并且它们具有相同的方法。我从来没有创建它,你有一些创建代理的好链接吗?
-
@LordTakkera,例如,如果我使用 scvutil 自动生成的代码引用服务,它会创建合同=Company01.GENERALCONTRACT、Company02.GENERALCONTRACT,但它始终是相同的“根”合同。我需要创建一个具有相同 GENERALCONTRACT 成员的接口吗?
标签: c# web-services wcf