我有一个引用到程序集中的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 Project的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>
由于
答案 0 :(得分:1)
因为这是一个BizTalk项目,所以答案从不要这样做开始。
虽然可以,但这不是在BizTalk应用程序中调用服务的正确方法。
因此,解决此问题的正确方法是使用BizTalk WCF适配器将该服务添加到您的应用程序。
如果您团队中的任何人提出异议,我们很乐意帮助您解决这些问题。没有任何情况下你所描述的是正确的事情。