---
schema_version: "1"
id: 43ce373753f5eb8076d4df48711a3d0e75b4cb18d80c205ff505f119233e5ba1
title: Web サービスのコンシューム
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/web-service-consumer-connector/1.5/web-service-consumer-consume.md
canonical_url: https://docs.mulesoft.com/jp/web-service-consumer-connector/1.5/web-service-consumer-consume
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 02205eafecf3745cfca535ed75d6878cd53d22bab665a2d1f876ef8081a13251
description: MuleSoft Documentation Site
release: "1.5"
latest: false
---
# Web サービスのコンシューム

Web Service Consumer Connector の設定を作成したら、設定したサービスから SOAP 操作のコンシュームを開始できます。Web サービスコンシューマーの設定をまだ作成していない場合は、​[「Web サービスコンシューマーの設定ドキュメント」](https://docs.mulesoft.com/jp/web-service-consumer-connector/1.5/web-service-consumer-configure)​を参照してください。

Web Service Consumer Connector には 1 つの ​`wsc:consume`​ 操作があります。この操作には、2 つの重要なパラメーター Operation (操作) (​`operation`​) と Message (メッセージ) (​`wsc:message`​) があります。

`wsc:consume`​ 操作の基本構文は次のとおりです。

基本的な Consume 操作の例

```xml
<wsc:consume config-ref="config" operation="clients-list">
    <wsc:message>
        <wsc:body>#[payload]</wsc:body>
    </wsc:message>
</wsc:consume>
```

SOAP メッセージのディスパッチで問題が発生したら、​`WSC:CANNOT_DISPATCH`​ エラーを受信します。

## [](#operation-パラメーター)Operation パラメーター

`operation`​ パラメーターは、Web サービスのどの SOAP 操作を呼び出すかを定義します。デザインタイムでは、operation パラメーターは ​`consume`​ 操作の入力と出力のタイプを定義します。タイプは選択する操作によって異なります。

## [](#message-パラメーター)Message パラメーター

`message`​ パラメーターは、Body、Headers、Attachments という 3 つの要素で構成される ​`SOAP:ENVELOP`​ の表現です。これらの要素はすべて省略可能です。

### [](#body-本文)Body (本文)

`body`​ はメッセージの主要部分です。SOAP メッセージの最終的なエンドポイントに向けられた SOAP メッセージが含まれています。このパラメーターは常に XML アプリケーション固有の要素です。

`body`​ 要素は埋め込まれた DataWeave スクリプトを値として受け入れるので、メッセージへの副作用がなく、または要求を作成するために複数のコンポーネントを使用する必要がなく、XML 要求を作成できます。デフォルトでは、メッセージの body の値は ​`#[payload]`​ です。つまり、デフォルトで、受信ペイロードはサービスへの送信準備が整った XML エンティティであることが予期されます。

body 要素内の変換の例を次に示します。

body パラメーター内の DataWeave 表現

```xml
<wsc:consume config-ref="config" operation="addClients">
    <wsc:message>
        <wsc:body>
        #[
        %dw 2.0
        output application/xml
        ns con http://service.soap.clients.namespace/
        ---
        con#clients: {
            client: {
                name: "Natasha",
                lastname: "Ferrari"
            },
            client: {
                name: "Lucas",
                lastname: "Barzola"
            }
        }]
        </wsc:body>
    </wsc:message>
</wsc:consume>
```

body が有効な XML でない場合、または何らかの理由で要求を作成できない場合、​`WSC:BAD_REQUEST`​ エラーが発生します。

body のコンテンツが指定されていない場合、Web サービスコンシューマーはコンテンツの生成を試みます。これは、body 内で XML エンティティが予期されない場合にのみ機能します。

### [](#ヘッダー)ヘッダー

省略可能な ​`headers`​ 要素には、SOAP メッセージに関するアプリケーション固有の情報 (認証や支払いなど) が含まれます。​`body`​ 要素と同様に、この要素は XML エンティティであり、DataWeave スクリプトをその値として埋め込むことができます。

headers パラメーター内の DataWeave 表現

```xml
<wsc:consume config-ref="config" operation="addClients">
    <wsc:message>
        <wsc:body>#[payload]</wsc:body>
        <wsc:headers>
          #[
          %dw 2.0
          output application/xml
          ns con http://service.soap.clients.namespace/
          ---
          "headers": {
              con#user: "NahuelMonin",
              con#pass: "%M4g\/iT0Rn4!"
          }]
        </wsc:header>
    </wsc:message>
</wsc:consume>
```

DataWeave スクリプト内では、ルートが ​`"headers"`​ である必要があります。そうでない場合は、アプリケーションの実行中に次のエラーが返されます: `Invalid input headers XML: It must be an xml with the root tag named \'headers\'`​。

Anypoint Studio では、Web サービスコンシューマーの ​`Consume`​ 操作をキャンバスにドラッグした後、Web サービスコンシューマーのプロパティを使用して、​**\[Headers (ヘッダー)\]**​ 項目に SOAP ヘッダーを指定できます。

SOAP ヘッダーの設定についての詳細は、 [「How to set SOAP headers in Web Service Consumer in Mule 4 (Mule 4 の Web サービスコンシューマーで SOAP ヘッダーを設定する方法)」](https://help.salesforce.com/s/articleView?id=001114743&type=1)​を参照してください。

### [](#attachments-添付ファイル)Attachments (添付ファイル)

`attachments`​ 要素を使用して、SOAP メッセージに添付ファイルをバインドすることができます。SOAP を使用するトランスポート用の添付ファイルを作成するには、DataWeave スクリプトを宣言する必要があります。このスクリプトの各エントリは添付ファイルを表し、その値で添付ファイルのコンテンツを指定します。次に例を示します。

attachments パラメーター内の DataWeave 表現

```xml
<wsc:consume config-ref="config" operation="addClients">
    <wsc:message>
        <wsc:body>#[payload]</wsc:body>
        <wsc:attachments>
          #[{ clientsJson: vars.jsonFile } ]
        </wsc:attachments>
    </wsc:message>
</wsc:consume>
```

この例では、​`clientsJson`​ という新しい添付ファイルを宣言し、そのコンテンツは ​`jsonFile`​ という変数に保存されています。この変数は、たとえば ​`file:read`​ 操作から設定することができます。

## [](#出力)出力

`consume`​ 操作の出力は、​`message`​ パラメーターで使用するのと同じ要素を含む受信 SOAP メッセージを表し、各部分にアクセスすることができます。

例を挙げます。

body パラメーター内の DataWeave 表現

```xml
<flow name="output">
  <wsc:consume config-ref="config" operation="addClients">
      <wsc:message>
          <wsc:body>#[payload]</wsc:body>
      </wsc:message>
  </wsc:consume>
  <set-variable name="soap.body" value="#[payload.body]">
  <set-variable name="soap.auth.header" value="#[payload.headers.auth]">
  <set-variable name="soap.attachment.json" value="#[payload.attachments.json]">
</flow>
```

この例では、​`soap.body`​ という新しい変数に本文のコンテンツが保存されています。​`soap.auth.header`​ 変数に ​`auth`​ というヘッダーが、​`soap.attachment.json`​ という変数に ​`json`​ という添付ファイルのコンテンツがそれぞれ保存されています。

## [](#属性)属性

Web サービス操作をコンシュームするとき、応答のコンテンツだけではなく、メッセージのディスパッチに使用された基になるトランスポートのメタデータも把握したい場合があります。たとえば、HTTP を使用する場合、属性には HTTP 要求にバインドされている HTTP ヘッダーが含まれます (​`content-length`​、​`status`​ など)。

Web Service Consumer Connector は、Mule メッセージの属性を使用してこの情報にアクセスします。

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

- [Web Service Consumer Connector リファレンス](https://docs.mulesoft.com/jp/web-service-consumer-connector/1.5/web-service-consumer-reference)
- [Web サービスコンシューマーの設定方法](https://docs.mulesoft.com/jp/web-service-consumer-connector/1.5/web-service-consumer-configure)