---
schema_version: "1"
id: 4647fb358cca8937a28d46d95fcb37ef90a2848cf1c83ecba349876d3f178b1f
title: HTTP Connector のトラブルシューティング
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/http-connector/1.8/http-troubleshooting.md
canonical_url: https://docs.mulesoft.com/jp/http-connector/1.8/http-troubleshooting
source_site: docs.mulesoft.com
content_type: documentation
content_hash: ff01ba512c0407d3f97e4ac97c9d13c0a3eb2a576c00785ab8507515bb836cdc
description: MuleSoft Documentation Site
release: "1.8"
latest: false
---
# HTTP Connector のトラブルシューティング

Anypoint Connector for HTTP (HTTP Connector) をトラブルシューティングするには、ワイヤーロギングおよび TLS デバッグを有効にして、​`Host`​ ヘッダーおよび HTTP エンコーディングを適切に使用するようにして、よくスローされるメッセージについて理解しておきます。

## [](#ワイヤーロギングを有効化する)ワイヤーロギングを有効化する

ワイヤーロギングを有効にしてアプリケーションのパフォーマンスのトラブルシューティングを行うと、アプリケーションワークフローの実際の未加工 HTTP 要求および応答がログに記録されます。その後、そのログを使用して現在の設定を検証するか、HTTP Connector の動作を他のクライアントやサーバーと比較します。

HTTP ワイヤーロギングを有効化する手順は、次のとおりです。

1. Anypoint Studio にアクセスし、​**\[Package Explorer\]**​ ビューに移動します。
2. アプリケーションのプロジェクトを開きます。
3. `src/main/resources`​ パスフォルダーを開きます。
4. フォルダー内の ​`log4j2.xml`​ ファイルを開きます。
5. 次の行がすでに ​`log4j2.xml`​ ファイル内にある場合は、そのコメントを解除して有効にします。それ以外の場合、次の行を追加します。
    
    ```xml
    <?xml version="1.0" encoding="utf-8"?>
    <Configuration>
        ...
        <Loggers>
            ...
            <!-- Http Logger shows wire traffic on DEBUG. -->
            <AsyncLogger name="org.mule.service.http.impl.service.HttpMessageLogger" level="DEBUG"/>
            ...
        </Loggers>
    </Configuration>
    ```

1. 変更を保存します。
2. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。

## [](#tls-デバッグの有効化)TLS デバッグの有効化

TLS デバッグを有効にして SSL 障害のトラブルシューティングを行うと、接続試行、ハンドシェイク、ネゴシエーションなどの SSL 関連のデータがログに記録されます。

その後、そのログを使用して、正しい証明書が揃っているか、なぜ暗号化やプロトコルの不一致が起きているのか、なぜ接続が失敗するのかなどを判断します。

TLS デバッグを有効にするには、システムプロパティ ​`-Djavax.net.debug=ssl`​ を設定します。

## [](#host-ヘッダーの誤使用のトラブルシューティング)Host ヘッダーの誤使用のトラブルシューティング

HTTP クライアントでは、​`Host`​ ヘッダーを使用して要求されたリソースのホストとポート番号を示します。HTTP Connector の ​**Request**​ 操作では、設定されたホストとポートを考慮するこの必須のヘッダーを自動生成します。ただし、サーバーではポート情報を省略可能とみなすことが多くあり、ポート情報が含まれる要求を受信するとエラーになります。

こうしたエラーはサーバーオーナーに報告して修正を依頼してください。修正されるまでの間は、ポート情報を含めずに ​`Host`​ ヘッダーを出力するように ​**Request**​ 操作を手動で変更して、この問題を回避してください。

次の例は、​`Host: somehost.com`​ ヘッダーを送信する ​`<http:headers>`​ 設定を示しています。

```xml
<flow name="connectingToFaultyServer">
  <http:request method="GET" url="http://somehost.com:8081/api/v3/someresource">
    <http:headers>
      #[{"Host" : "somehost.com"}]
    </http:headers>
  </http:request>
  <logger level="INFO"
   message="#['Received a ' ++ attributes.status code ++ ' response with body: {' ++ payload ++ '}']"/>
</flow>
```

明示的なヘッダー設定がないと、自動生成された ​`Host: somehost.com:8081`​ が送信されます。

## [](#http-エンコードのトラブルシューティング)HTTP エンコードのトラブルシューティング

ストリーミングされたデータを処理する時のパフォーマンスを向上させるために、HTTP Connector では送信するデータのサイズが不明な場合に ​`Transfer-Encoding: chunked`​ エンコードを使用して要求および応答を送信します。ただし、HTTP クライアントおよびサーバーがこうしたデータを受信する準備ができていない場合があります。

こうしたエラーはサーバーオーナーまたはクライアントオーナーに報告して修正を依頼してください。修正されるまでの間は、​`Content-Length`​ でエンコードされた本文を出力するように ​**Listener**​ 操作および ​**Request**​ 操作を手動で変更して、この問題を回避してください。

次の例は、​`Content-Length`​ エンコードを使用することを示す ​`responseStreamingMode` ​`NEVER`​ を使用して設定された HTTP の ​**Listener**​ 操作を示しています。

```xml
<flow name="main-contact-read">
  <http:listener path="account/{accountId}/main-contact" allowedMethods="GET" responseStreamingMode="NEVER" config-ref="HTTP_Listener_config"/>
  <!-- fetch main contact for accountId -->
</flow>
```

次の例は、​`Content-Length`​ エンコードを使用するために ​`requestStreamingMode` ​`NEVER`​ を使用して設定された HTTP の ​**Requester**​ 操作を示しています。

```xml
<flow name="connectingToFaultyServer">
  <http:request method="GET" url="http://somehost.com:8081/api/v3/someresource" requestStreamingMode="NEVER"/>
  <logger level="INFO"
   message="#['Received a ' ++ attributes.status code ++ ' response with body: {' ++ payload ++ '}']"/>
</flow>
```

## [](#oauth2-認証コード許可種別の問題のトラブルシューティング)OAuth2 認証コード許可種別の問題のトラブルシューティング

Mule アプリケーションで OAuth2 認証コード許可種別認証を使用しており、​`_[No access token found. Verify that you have authenticated before trying to execute an operation to the API (アクセストークンが見つかりません。API に対する操作を実行する前に、認証されていることを確認してください)]_`​ メッセージが返された場合、次の可能な解決策を確認してください。

- 認証 URL をコールする。OAuth ポリシーに従って、認証 URL を少なくとも 1 回コールしてアクセストークンを取得する必要があります。
- オブジェクトストアを使用する。アクセストークンをオブジェクトストアに保存します。トークンが期限切れになったら、更新トークンを使用して新しいアクセストークンを取得してオブジェクトストアを更新します。
- DocuSign Connector を使用する。DocuSign Connector を使用して認証とトークンをより効果的に管理することを検討します。

## [](#一般的なスローの理解)一般的なスローの理解

ここでは、一般的なスローメッセージとその解決方法を示します。

- HTTP:BAD\_REQUEST
    
    たとえばヘッダーサイズが最大値を超えている場合に、構文が無効であるためサーバーが要求を理解できません。
- HTTP:CLIENT\_SECURITY
    
    外部エンティティによって適用されたセキュリティの問題が発生しました。
- HTTP:CONNECTIVITY
    
    A problem occurred and a connection could not be established. (問題が発生して接続を確立できませんでした。)
- HTTP:FORBIDDEN
    
    クライアントにコンテンツへのアクセス権がないため、サーバーが要求されたリソースの提供を拒否しています。
- HTTP:INTERNAL\_SERVER\_ERROR
    
    サーバーで要求を満たせない状況が発生しました。
- HTTP:METHOD\_NOT\_ALLOWED
    
    サーバーの要求メソッドが対象リソースでサポートされていません。
- HTTP:NOT\_ACCEPTABLE
    
    サーバーが要求のプロアクティブコンテンツネゴシエーションヘッダーで定義された許容可能な値のリストに一致する応答を生成できません。
- HTTP:NOT\_FOUND
    
    The server could not find the requested resource. (サーバーは要求されたリソースを見つけることができませんでした。)
- HTTP:PARSING
    
    \[非推奨ですが、互換性を確保するために保持されています。\] 解析メカニズムが削除されました。
- HTTP:RETRY\_EXHAUSTED
    
    The maximum number of retries for the operation is reached. (操作の最大再試行回数に達しました。)
- HTTP:SECURITY
    
    リクエスター認証に失敗しました。
- HTTP:SERVICE\_UNAVAILABLE
    
    サーバーはメンテナンスまたは過負荷のためにダウンしているため、要求を管理できません。
- HTTP:TIMEOUT
    
    http:requester によって送信された要求がタイムアウトになりました。
- HTTP:TOO\_MANY\_REQUESTS
    
    特定の期間内に送信された要求が多すぎます。
- HTTP:UNAUTHORIZED
    
    要求された応答を取得するための認証に失敗したか、認証がまだ提供されていません。
- HTTP:UNSUPPORTED\_MEDIA\_TYPE
    
    サーバーで要求されたデータのメディア形式がサポートされていません。
- HTTP:BAD\_GATEWAY
    
    要求を管理するためにゲートウェイまたはプロキシとして機能するサーバーが無効な応答を受信しました。
- HTTP:GATEWAY\_TIMEOUT
    
    要求を管理するためにゲートウェイまたはプロキシとして機能するサーバーが指定された時間内に応答を受信しませんでした。
- HTTP:BASIC\_AUTHENTICATION
    
    HTTP の ​\*Request\*​ 操作でサービスに要求を送信するための基本認証がないか、指定されたログイン情報が正しくありません。

## [](#関連情報)関連情報

- [HTTP Listener の設定リファレンス](https://docs.mulesoft.com/jp/http-connector/1.8/http-listener-ref)
- [HTTP Request 設定リファレンス](https://docs.mulesoft.com/jp/http-connector/1.8/http-request-ref)