Web サービスの権限の問題を解決するためのガイドライン

Microsoft BizTalk Server では、SOAP アダプターで使用したり、オーケストレーションを Web サービスとして発行したりするために、Web サービスを広範に使用しています。 このトピックでは、Web サービスのアクセス許可の問題を最小限に抑えるための一般的なガイドラインと、BizTalk Serverに影響する Web サービスのアクセス許可の問題のトラブルシューティングに従うことができる手順について説明します。

一般的なガイドライン

  • ユーザー アカウントの設定: Web サービスをホストする仮想ディレクトリに関連付けられている IIS アプリケーション ホスト プロセス ID が特定のユーザー アカウントに設定されていることを確認し、このユーザー アカウントが次のグループに追加されていることを確認します。

    • BizTalk 分離ホスト ユーザー (ドメインまたはローカル グループ)

    • IIS_WPG (ローカル グループ)

      BizTalk Web サービス公開ウィザードで作成された Web サービスに、BizTalk メッセージ ボックス データベースに SOAP 要求メッセージを公開する (これにより、サブスクライブを行うオーケストレーションをアクティブ化する) ための適切な権限を与えるには、これら 2 つのグループのメンバーシップが必要です。 IIS アプリケーション ホスト プロセス ID の決定または設定の詳細については、「IIS のアクセス許可の問題を解決するためのガイドライン」の「IIS アプリケーション ホスト プロセス ID の設定」セクションを参照してください。

  • TEMP 環境変数で指定されたフォルダーに対するアクセス許可の設定: Web サービスをホストする仮想ディレクトリの IIS アプリケーション ホスト プロセス ID に、TEMP 環境変数で指定されたフォルダーに対する読み取りおよび書き込みアクセス許可があることを確認します。 TEMP 環境変数によって指定されているフォルダーを確認するには、BizTalk Server でコマンド プロンプトを開き、次のコマンドを入力して、Enter キーを押します。

    echo %TEMP%
    

    TEMP 環境変数によって指定されたフォルダーは、Web サービスがダイナミック リンク ライブラリ (dll) ファイル形式に Just In Time (JIT) コンパイルされる場所であるため、このユーザー アカウントが読み取り/書き込みアクセス許可を使用してアクセスできる必要があります。

  • SOAP メソッド呼び出しで資格情報を送信する: Web サービス クライアントが SOAP メソッド呼び出しで資格情報を送信していることを確認します。 既定では、Windows Server 2008 SP2 の IIS 7.0 には Windows 認証が必要です。 Internet Explorer を使用して Web サービスをテストするときは、現在ログオンしているユーザーの資格情報が自動的に送信されます。このため、Web サービスは、Internet Explorer からは機能していても、別のクライアントからは機能していない可能性があります。 Web サービス クライアントが SOAP メソッドの呼び出しに資格情報を追加しない場合、認証の失敗によって SOAP 例外が発生します。 SOAP メソッド呼び出しで資格情報を送信する方法の詳細については、「 System.Net.Http: HttpClient クラス」を参照してください。

  • Web サービスを呼び出すエラーのトラブルシューティング: Web サービスの呼び出し時にエラーが発生した場合は、[BizTalk Server管理グループ ハブ] ページでアプリケーション ログ、またはメッセージ イベントとサービス インスタンスの追跡をチェックします。 エラーの考えられる原因の詳細については、「監視BizTalk Server」および「グループ ハブ ページの使用」を参照してください。

  • デバッグ情報の収集: 詳細なデバッグ情報を取得するには、上記の手順に従っても問題が解決しない場合は、発行 済み Web サービスのデバッグ に関するトピックに記載されている手順に従ってください。

参照

IIS のアクセス許可問題を解決するためのBizTalk Serverアクセス許可のガイドラインのトラブルシューティング