我有一個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