---
schema_version: "1"
id: 850577b74b20fbe7d8016df2930a961750c06b4eb440675bd359d4bd30972c77
title: HTTP エラー状況コードと理由を示す語句の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/http-connector/1.5/http-error-status-reason-phrase-task.md
canonical_url: https://docs.mulesoft.com/jp/http-connector/1.5/http-error-status-reason-phrase-task
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 95a91f961937f46fa176f0a047a07a3294a4a0a5b49b7570bd210f31da62b2b4
description: MuleSoft Documentation Site
release: "1.5"
latest: false
---
# HTTP エラー状況コードと理由を示す語句の例

次の例は、ユーザーログイン検証要求のエラー状況コードと理由を示す語句を設定できるように、HTTP 用 Anypoint Connector (HTTP Connector) の Listener ソースを設定する方法を示しています。HTTP 要求の状況コードと説明を表示するには、ブラウザー拡張機能または [curl](http://curl.haxx.se/)​ コマンドラインユーティリティを使用します。  
この例では、アドレス ​`http://localhost:8081/login/`​ で要求を受信することを期待しています。これらの要求には ​`user`​ という名前のクエリパラメーターが含まれている必要があります。このパラメーターの値に応じて、次の 2 つのいずれかが行われます。

- パラメーターが ​`user=mule`​ の場合、次のようになります。  
    
    - 検証操作がパラメーターを true として評価する。
    - Set Payload トランスフォーマーがメッセージペイロードを成功メッセージに設定する。
    - HTTP Connector が ​**\[Status Code (状況コード)\]**​ と ​**\[Reason (理由)\]**​ の変数を ​`200 Log in Successful!`​ として設定する。
- パラメーターが ​`user=anythingElse`​ の場合、次のようになります。  
    
    - パラメーターの検証操作アサーションが失敗する。
    - フローでエラーハンドラーがコールされる。
    - HTTP Connector が ​**\[Status Code (状況コード)\]**​ と ​**\[Reason (理由)\]**​ の変数を ​`404 Requested user does not exist`​ として設定する

どちらの場合も、要求の応答はレスポンスボディとしては表示されないため、ブラウザーウィンドウで要求を実行した場合は表示されません。この例を実行するには、Mule アプリケーションを作成し、HTTP グローバル要素を設定し、アプリケーションを実行し、curl コマンドでアプリケーションをテストする必要があります。

次のスクリーンショットは、この例の Anypoint Studio アプリケーションフローを示しています。

![HTTP エラー状況コードと理由を示す語句のフロー](/mulesoft/current/ja-jp/http-connector/1.5/_images/http-error-flow.png)

Figure 1. HTTP エラー状況コードと理由を示す語句のフロー

## [](#mule-アプリケーションの作成)Mule アプリケーションの作成

Mule フローを作成する手順は、次のとおりです。

1. **\[Mule Palette (Mule パレット)\]**​ ビューで、\[HTTP\] の ​**\[Listener\]**​ ソースを選択してキャンバスにドラッグします。
2. **\[Listener (リスナー)\]**​ 設定画面で、必要に応じて ​**\[Display Name (表示名)\]**​ 項目の値を変更します。
3. **\[Path (パス)\]**​ を ​`/login`​ に設定します。
4. **\[Connector configuration (コネクタ設定)\]**​ 項目の横にあるプラス記号 (​**+**​) をクリックして、アプリケーション内の HTTP の ​**Listener**​ のすべてのインスタンスで使用できるグローバル要素を設定します。
5. **\[General (一般)\]**​ タブで、次の項目を設定します。
    
    - **Host (ホスト)**​: `localhost`
    - **Port (ポート)**​: `8081`
6. **\[OK\]**​ をクリックします。

![HTTP リスナー設定](/mulesoft/current/ja-jp/http-connector/1.5/_images/http-error-studio-1.png)

Figure 2. HTTP リスナー設定

1. HTTP リスナーの ​**\[Responses (応答)\]**​ タブの ​**\[Response (応答)\]**​ セクションで、​**\[Status Code (状況コード)\]**​ を ​`200`​、​**\[Reason phrase (理由を示す語句)\]**​ を ​`Login Successful`​ に設定します。
2. **\[Error Response (エラー応答)\]**​ セクションで、​**\[Status Code (状況コード)\]**​ を ​`#[vars.errorStatusCode]`​、​**\[Reason phrase (理由を示す語句)\]**​ を ​`#[vars.errorReasonPhrase]`​ に設定します。

![HTTP エラー状況コードと理由](/mulesoft/current/ja-jp/http-connector/1.5/_images/http-error-studio-2.png)

Figure 3. HTTP エラー状況コードと理由

1. **\[Validation: Is True\]**​ 操作を \[HTTP\] の ​**\[Listener\]**​ ソースの後にドラッグします。
2. **\[General (一般)\]**​ タブの ​**\[General (一般)\]**​ セクションで、ドロップダウンメニューから ​**\[Expression (式)\]**​ を選択します。​`user`​ クエリパラメーターを検証するには、次のコードを \[expression (式)\] 項目ボックスに追加します。

```text
#[attributes.queryParams.user == 'mule']
```

![Validate Module 設定](/mulesoft/current/ja-jp/http-connector/1.5/_images/http-error-studio-3.png)

Figure 4. Validation Module 設定

1. **\[Set Payload\]**​ トランスフォーマーを ​**\[Validation: Is True\]**​ 操作の後にドラッグし、​**\[Value (値)\]**​ 項目を ​`Log in Successful!`​ に設定します。

![Set Payload の設定](/mulesoft/current/ja-jp/http-connector/1.5/_images/http-error-studio-4.png)

Figure 5. Set Payload の設定

1. フローの ​**\[Error Handling (エラー処理)\]**​ セクションで、​**On Error Propagate**​ コンポーネントを追加します。
2. **On Error Propagate**​ コンポーネントで、2 つの ​**Set Variable**​ トランスフォーマーを追加します。  
    
    - 最初の変数で、​**\[Display Name (表示名)\]**​ を ​`Set Status Code`​、​**\[Name (名前)\]**​ を ​`errorStatusCode`​、​**\[Value (値)\]**​ を ​`404`​ に設定します。
    - 2 番目の変数で、​**\[Display Name (表示名)\]**​ を ​`Set Reason Phrase`​、​**\[Name (名前)\]**​ を ​`errorReasonPhrase`​、​**\[Value (値)\]**​ を ​`Requested user does not exist`​ に設定します。

![エラー処理設定](/mulesoft/current/ja-jp/http-connector/1.5/_images/http-error-studio-5.png)

Figure 6. エラー処理設定

1. Mule アプリケーションを保存します。
2. **Package Explorer**​ でプロジェクト名をクリックし、​**\[Run (実行)\]**​ > ​**\[Run As (別のユーザーとして実行)\]**​ > ​**\[Mule Application (Mule アプリケーション)\]**​ をクリックします。
3. cURL で、URL ​`[http://localhost:8081/login?user=mule](http://localhost:8081/login?user=mule)`​ をテストします。

ユーザーが有効な場合は結果で ​`200 Log in Successful!`​ を返され、有効でない場合は ​`404 Requested user does not exist`​ が返されます。

## [](#http-エラー状況コードと理由を示す語句の-xml)HTTP エラー状況コードと理由を示す語句の XML

この例のフローをすばやく Mule アプリケーションに読み込むには、次のコードを Studio XML エディターに貼り付けます。

```xml
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:validation="http://www.mulesoft.org/schema/mule/validation"
      xmlns:http="http://www.mulesoft.org/schema/mule/http"
      xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
                          http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
                          http://www.mulesoft.org/schema/mule/validation http://www.mulesoft.org/schema/mule/validation/current/mule-validation.xsd">
    <http:listener-config name="HTTP_Listener_config" >
        <http:listener-connection host="localhost" port="8081" />
    </http:listener-config>
    <flow name="customResponseFlow" >
        <http:listener doc:name="Listener" path="/login" config-ref="HTTP_Listener_config">
            <http:response statusCode="200" reasonPhrase="Login Successful" />
            <http:error-response statusCode="#[vars.errorStatusCode]" reasonPhrase="#[vars.errorReasonPhrase]" />
        </http:listener>
        <validation:is-true expression="#[attributes.queryParams.user == 'mule']"/>
        <set-payload value="Log in Successful!" />
        <error-handler name="Error_Handler" >
            <on-error-propagate enableNotifications="true" logException="true" >
                <set-variable value="404" variableName="errorStatusCode"/>
                <set-variable value="Requested user does not exist" variableName="errorReasonPhrase"/>
            </on-error-propagate>
        </error-handler>
    </flow>
</mule>
```

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

- [Anypoint Connector の概要](https://docs.mulesoft.com/connectors/introduction/introduction-to-anypoint-connectors)
- [MuleSoft ヘルプセンター](https://help.mulesoft.com)