【发布时间】:2016-09-05 09:09:02
【问题描述】:
我有一个 WCF 服务,它被引用到程序集中。此程序集已在 BizTalk 项目中引用。 通过 Orchestration 调用 WCF 方法时,出现以下错误: 在 ServiceModel 客户端配置部分中找不到引用合同“SubscriberService.ISubscriber”的默认端点元素。
我已经用 google 搜索过了,如果您尝试通过 Window 项目或 Web 应用程序中的程序集调用 WCF,这是一个已知问题。如果我们在调用程序集的项目中添加配置,则可以解决此问题。而且我已经在示例项目中测试了场景并将客户端配置复制到我的测试项目中解决了这个问题,但这在 BIZTALK 项目中不起作用。
程序集的App.Config文件中的配置:
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="CustomerMain.HelperAssembly.CoreProcess.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<system.serviceModel>
<protocolMapping>
<add binding="basicHttpBinding" scheme="http" />
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ISubscriber" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:81/SubscriberService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISubscriber"
contract="SubscriberService.ISubscriber" name="BasicHttpBinding_ISubscriber" />
</client>
</system.serviceModel>
</configuration>
Biztalk 项目的 App.Config 文件中的配置:
<configuration>
<system.serviceModel>
<protocolMapping>
<add binding="basicHttpBinding" scheme="http" />
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ISubscriber" bypassProxyOnLocal="true" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:81/SubscriberService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ISubscriber"
contract="SubscriberService.ISubscriber" name="BasicHttpBinding_ISubscriber" />
</client>
</system.serviceModel>
</configuration>
谢谢
【问题讨论】:
标签: wcf biztalk .net-assembly