2011-02-10 4 views
1

BizTalk 2009がWS BasicHTTPアダプタを介して通常のASP.NET Webサービスを呼び出すと、System.ServiceModel.Security.MessageSecurityExceptionが発生します。クライアント認証スキーム "Anonymous" 。サーバから受信した認証ヘッダーはでした:「NTLMネゴシエートBiztalkがWCF-WsHTTPエンドポイントでMessageSecurityExceptionを取得する

匿名アクセスを無効にし、Windows認証を有効にしてWebサービスは、IIS(7.5)でホストされている

答えて

0

ここFWIWが露出WCF basicHttpBindingのペーストです。バインディングの下で​​、その後

<services> 
    <service ... > 
     <endpoint address="" 
     binding="basicHttpBinding" 
     bindingConfiguration="binding4BizTalk" 
     bindingNamespace="xxx" 
... > 
<!-- Delete the identity tag here --> 
     </endpoint> 

とBizTalk 2009に

<bindings> 
    <basicHttpBinding> 
     <binding name="binding4BizTalk" ...> 
      <security mode="None" /> 

希望は、いくつかの使用のでしょうか?

+0

申し訳ありませんが、元の投稿に編集しました。 Webサービスは、IISでホストされる通常のASP.NET Webサービスです。 Biztalk 2009とESBが使用され、スタティックリゾルバが使用され、wcf-basicHTTP転送に設定されます... –

2

NTLMセキュリティを使用するように送信ポートを設定する必要があります(Webサービスに必要なものと思われる)。

送信ポートの設定を開き、トランスポートタイプ(WCF-BasicHttp)設定を開き、[セキュリティ]タブに移動します。ここで、セキュリティモードを[Transport]に設定します。これにより、トランスポートクライアントの資格情報タイプをNtlmに設定できます。

これにより、BizTalkはNTLMを使用してWebサービスに対して認証されます。送信ポートが実行されているBizTalkホストのアカウントを使用します。そのアカウントがWebサービスにアクセスできない場合は、NTLMからBasicへの切り替え(同じセキュリティタブで資格情報を指定できるようにする)など、アクセス権を与えたり、代替案を検討する必要があります。この問題についての説明はhereです。

もちろん、Windows認証用にWebサービスを構成したと言いました。そのため、トランスポートクライアントの資格情報の種類をWindowsに設定することもできます。 BizTalkホストプロセスのアカウントを使用する必要がありますが、NTLMと同様です。

関連する問題