我有一个BizTalk应用程序启动并正在运行当前正在使用WCF-BasicHttp适配器。目前它仅使用使用UserName凭证类型的Message安全性,并且所有工作都正常。将非BizTalk WCF配置转换为BizTalk WCF定制端点
事情已经发生变化,我们现在需要接受传输(IIS)级别的客户端证书以进行服务授权,并且仍然继续使用消息安全性进行服务验证。
多的痛苦和搜索之后,我能得到这个在非的BizTalk WCF环境中工作立足我这个this post位的配置,并结束了与以下customBinding配置:
<customBinding>
<binding name="CustomCDARequestEndpointBinding">
<textMessageEncoding messageVersion="Soap11" />
<security authenticationMode="UserNameOverTransport" />
<httpsTransport requireClientCertificate="true" />
</binding>
</customBinding>
这导致了WCF客户端配置,如下所示:
<customBinding>
<binding name="CDARequestEndpoint">
<security defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport"
requireDerivedKeys="true" includeTimestamp="true" messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
<localClientSettings detectReplays="false" />
<localServiceSettings detectReplays="false" />
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport requireClientCertificate="true" />
</binding>
</customBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="ohBehave">
<clientCredentials useIdentityConfiguration="false">
<clientCertificate findValue="6D0DBF387484B25A16D0E3E53DBB178A366DA954" storeLocation="CurrentUser"
x509FindType="FindByThumbprint" />
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
这工作完全正常在非的BizTalk环境,这似乎是配置的关键部分是由于的<httpsTransport requireClientCertificate="true" />
config元素属性。问题是,无论我尝试什么,我都无法在任何地方的BizTalk WCF-Custom/customBinding配置中找到类似的设置。我不能添加<httpsTransport>
绑定元素扩展,因为它不”在BizTalk
为存在于选项有谁知道我的选择是在这里吗?
- 我可以直接编辑web.config吗?
- 是否有另一个扩展我可以添加到BizTalk GUI中实现相同的效果?
- 我可以在编排中编写一些东西,以我提议的方式手动设置这个接收位置吗?
我想我并不清楚,我已经使用WCF的自定义适配器......有一件事我根本就没想到做的是删除'httpTransport' ......更别说它会暴露'httpsTransport'。这给了我希望! – Bensonius
这是它boatmen!虽然现在看起来很明显,当httpTransport已经存在时,GUI不会显示httpsTransport元素,但当它是您第一次进入customBinding配置屏幕时,似乎并不明显,这是肯定的。 – Bensonius