---
schema_version: "1"
id: 3ed0d796936abbf0266351122279b78d08e0eba191154d83ecdd4d69a55d32b6
title: HTTP Connector
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/http-connector/1.5/index.md
canonical_url: https://docs.mulesoft.com/jp/http-connector/1.5/
source_site: docs.mulesoft.com
content_type: documentation
content_hash: aa468cf0695021e2576d1d36b15d566bc629d3e1aeea74f9c5f58dc06ab3d5ed
description: MuleSoft Documentation Site
release: "1.5"
latest: false
---
# HTTP Connector

HTTP Connector v1.5

HTTP 用 Anypoint Connector (HTTP Connector) を使用すると、要求をリスンし、フローをトリガーする HTTP サービスと、任意の HTTP サービスと通信できる HTTP クライアントを宣言できます。

HTTP Connector によって、HTTP ベースの API の効果的な公開とコンシュームが可能になります。たとえば、FAPIkit と RESTConnect はどちらも HTTP Connector を内部的に使用して API を操作します。

HTTP Connector は HTTPS (TLS) 接続もサポートしており、簡単な方法で静的リソースとセキュアなサービスを利用できるようにし、多くのクライアント認証スキームを処理します。

リリースノート: [HTTP Connector Release Notes](https://docs.mulesoft.com/jp/release-notes/connector/connector-http)​ (HTTP Connector リリースノート)  
Exchange: [HTTP Connector](https://www.mulesoft.com/exchange/org.mule.connectors/mule-http-connector/)

## [](#pom-ファイル情報)POM ファイル情報

```xml
<dependency>
  <groupId>org.mule.connectors</groupId>
  <artifactId>mule-http-connector</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>
```

`x.x.x`​ を使用しているコネクタに対応するバージョンに置き換えます。

## [](#http-サーバー)HTTP サーバー

HTTP サーバーは、ユーザーまたはアプリケーションがコンシュームできるサービスを公開します。要求の形式で データを受信し、応答を返します。コネクタの場合、 これは、要求を受信したらフローをトリガーし、フローが完了したら応答することを意味します。これはすべて、コネクタが提供するソースである HTTP リスナーによって処理されます。

HTTP サーバーを宣言するには、まず、HTTP リスナー接続を定義し、要求が受信されるホストとポートを指定します。

次に例を示します。

```xml
<http:listener-config name="serverConfig">
  <http:listener-connection host="localhost" port="8081"/>
</http:listener-config>
```

この例では、HTTP リスナー設定の名前は ​`serverConfig`​ です。これが、コンピューターの localhost アドレス (IP アドレス ​`127.0.0.1`​) とポート ​`8081`​ 上でリスンします。Anypoint Studio でサーバーをセットアップしたら、​`http://localhost:8081`​ URL でこのサーバーにアクセスできます。

サーバーを詳細に設定してフローを実行するための具体的なリソースパスを選択できます。 そのパスと一致する要求を受信すると、Mule はフローを実行します。

次の例を考えてみましょう。

```xml
<flow name="hello">
    <http:listener path="greet" config-ref="serverConfig"/>
    <set-payload value="Hello, world!"/>
</flow>

<flow name="bye">
    <http:listener path="exit" config-ref="serverConfig"/>
    <set-payload value="Goodbye, world!"/>
</flow>
```

これらの例では、2 つの HTTP リスナーが、​`localhost`​ とポート ​`8081`​ 上に HTTP サーバーを作成した、以前の設定 ​`serverConfig`​ を使用するようにセットアップされています。トリガーされるパスに応じて、異なるフローが実行されます。

そのため、​`http://localhost:8081/greet`​ をコールすると ​`Hello, world!`​ が返され、​`http://localhost:8081/exit`​ をコールすると ​`Goodbye, world!`​ が返されます。

受信した要求データは、実行時にフローと共有され、応答は カスタマイズできます。

次の例は、受信 HTTP 要求クエリパラメーターを使用して、HTTP 応答の本文をカスタマイズします。

```xml
<flow name="hello">
  <http:listener path="greet" config-ref="serverConfig">
    <http:response>
      <http:body>
        #[payload ++ ' I am an HTTP server.']
      </http:body>
    </http:response>
  </http:listener>
  <set-payload value="#['Hello, ' ++ (attributes.queryParams.name default 'world') ++ '!']" />
</flow>
```

上記の例を考慮すると、​`http://localhost:8081/greet?name=Ana`​ をコールすると `Hello, Ana! I am an HTTP server.`​ を返し、​`http://localhost:8081/greet`​ をコールすると ​`Hello, world! I am an HTTP server.`​ を返します。

HTTP リスナー機能の概要全体は、​[HTTP リスナー設定リファレンス](https://docs.mulesoft.com/jp/http-connector/1.5/http-listener-ref)​を参照してください。

## [](#http-クライアント)HTTP クライアント

HTTP クライアントを使用すると、要求を HTTP サービスに送信し、その応答を処理できます。コネクタの場合、 これはつまり、要求を実行して応答を返すということです。この処理は、 コネクタが提供する操作の HTTP 要求によって実行されます。

HTTP クライアントは宣言しなくてもかまいませんが、設定を再利用できるので 宣言することをお勧めします。HTTP クライアントを宣言しない場合、要求を送信するたびに URL 全体を指定する必要があります。この設定は、簡易な要求では 便利ですが、さまざまな API リソースに対して複数の要求を実行する場合、 最適なのはクライアントを宣言して接続先のホストを指定することです。

```xml
<http:request-config name="clientConfig">
  <http:request-connection host="localhost" port="8081"/>
</http:request-config>
```

この例では、HTTP 要求設定の名前は ​`clientConfig`​ です。要求を ​`localhost`​ とポート ​`8081`​ (以前設定されたサーバー) に送信します。

要求を実行するために必要なのは、使用する操作ごとに移動先のパスを指定することだけです。

```xml
<flow name="helloAndBye">
  <http:request method="GET" path="greet" config-ref="clientConfig"/>
  <logger level="INFO" message="#[payload]"/>
  <http:request method="GET" path="exit" config-ref="clientConfig"/>
  <logger level="INFO" message="#[payload]"/>
</flow>
```

前の例では、要求を ​`greet`​ と ​`exit`​ に送信することで、以前公開されたサービスをコンシュームします。フローが実行されると、 次のように表示されます。

```xml
Hello, world! I am an HTTP server.
Goodbye, world!
```

要求はカスタマイズでき、応答データはフローと共有されます。

次の例は、送信する要求をクエリパラメーターでカスタマイズし、受信する HTTP 応答の状況を使用します。

```xml
<flow name="fullHello">
  <http:request method="GET" path="greet" config-ref="clientConfig">
    <http:query-params>
      #[{"name" : "HTTP client"}]
    </http:query-params>
  </http:request>
  <logger level="INFO"
   message="#['Received a ' ++ attributes.statusCode ++ ' response with body: {' ++ payload ++ '}']"/>
</flow>
```

このフローが実行されると、 次のように表示されます。

```xml
Received a 200 response with body: {Hello, HTTP client! I am an HTTP server.}
```

HTTP 要求機能の概要全体は、​[HTTP 要求設定リファレンス](https://docs.mulesoft.com/jp/http-connector/1.5/http-request-ref)​を参照してください。

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

[MuleSoft ヘルプセンター](https://help.mulesoft.com)