---
schema_version: "1"
id: ab8cdc13ac01149ec9d4cdbda84641bcd66a4fcd59d348c492462e21817bddcc
title: Web Service Addressing の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/sap-s4hana-soap-connector-ws-addressing.md
canonical_url: https://docs.mulesoft.com/jp/sap-s4hana-soap-connector/2.4/sap-s4hana-soap-connector-ws-addressing
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 366b3220d01610c1e4c08136880b32f6d3f8406cec57381fe3b013eda94cf272
description: MuleSoft Documentation Site
release: "2.4"
latest: false
---
# Web Service Addressing の例

この例では、次のコンポーネントおよび操作を使用して、WS-Addressing を設定して SOAP 要求を送信します。

- **\[HTTP\] > \[Listener\]**
    
    フローを開始するコンポーネント。
- **Transform Message**
    
    入力データを新しい出力構造または形式に変換するコンポーネント。
- **SAP S/4HANA > Invoke**
    
    指定されたサービスに要求を送信する操作。
- **Logger**
    
    Mule コンソールに応答を表示するコンポーネント。
    
    ![WS-Addressing を有効にして SOAP 要求を送信するための Mule フロー。](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-wsa-flow.png)
    
    Figure 1. この例のフローでは、WS-Addressing を有効にして SOAP 要求を送信します。

この例では、一部の項目値に設定プロパティを使用します。コードで変数をそれらの値に置き換えるか、​`src/main/resources/mule-artifact.properties`​ ファイルで各変数の値を指定できます。

## [](#始める前に)始める前に

以下が必要です。

- SAP S/4HANA インスタンスおよび Anypoint Platform へのアクセス権

## [](#ws-addressing-ヘッダーを使用した-soap-要求の送信)WS-Addressing ヘッダーを使用した SOAP 要求の送信

### [](#create-mule-project)Mule プロジェクトを作成する

Studio で、新しい Mule プロジェクトを作成してコネクタを追加および設定します。

1. **\[File (ファイル)\] > \[New (新規)\] > \[Mule Project (Mule プロジェクト)\]**​ を選択します。
2. Mule プロジェクトの名前を入力して、​**\[Finish (完了)\]**​ をクリックします。

### [](#listener-を追加および設定する)Listener を追加および設定する

1. **\[Mule Palette (Mule パレット)\]**​ で​**「HTTP」**​を検索し、​**\[Listener\]**​ 操作を選択します。
    
    ![「Mule Palette (Mule パレット)」 ビューで 「HTTP」 の 「Listener」 が選択されている](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-select-listener.png)
2. **Listener**​ 操作をキャンバスにドラッグします。
3. **\[Listener (リスナー)\]**​ 設定で、​**\[Connector configuration (コネクタ設定)\]**​ の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. デフォルトを受け入れます。
5. **\[Path (パス)\]**​ 項目を ​`/wsa`​ に設定します。
    
    ![HTTP Listener の一般設定項目](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-http-listener-props.png)

### [](#invoke-操作を追加および設定する)Invoke 操作を追加および設定する

1. **\[Mule Palette (Mule パレット)\]**​ で​**「SAP S4 HANA」**​を検索し、​**\[Invoke\]**​ 操作を選択します。
2. **\[Invoke\]**​ 操作をキャンバスの ​**\[Listener (リスナー)\]**​ コンポーネントの右にドラッグします。
3. **\[Invoke\]**​ 設定で、​**\[Connector configuration (コネクタ設定)\]**​ の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. **Invoke**​ 操作のグローバル要素を設定します。
    
    - **Name (名前)**​  
        設定の参照に使用される名前。この例では、​`SAP_S4_HANA_Cloud_SOAP_Config`​ を使用します。
    - **Service base URL (サービスベース URL)**​  
        コネクタからアクセスする SAP S/4HANA インスタンス (エンドポイント) のベース URL。
    - **Username (ユーザー名)**​  
        SAP S/4HANA にログインするためのアカウントユーザー名。
    - **Password (パスワード)**​  
        SAP S/4HANA にログインするためのアカウントパスワード。
        
        ![Invoke 操作のサンプル値を含む \[SAP S/4HANA SOAP Configuration (SAP S/4HANA SOAP 設定)\] ウィンドウ](_images/sap-s4hana-soap-global-config.png)
        
        Figure 2. 次の画像は、​**Invoke**​ 操作のグローバル要素のサンプル値を示しています。
5. **\[Addressing\]**​ タブを開きます。
6. WS-Addressing プロパティを設定します。
    
    - **Version (バージョン)**​  
        WS-Addressing バージョン。
    - **From (送信元)**​  
        SOAP 要求の送信元となるエンドポイントの参照。
        
        ![「Web Service Addressing」 項目を設定する](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-global-config-addressing.png)
        
        Figure 3. 次の画像は、​**\[Addressing\]**​ 項目のサンプル値を示しています。
7. Studio キャンバスの下部にある ​**\[Configuration XML (設定 XML)\]**​ をクリックして、対応する XML を表示します。
    
    ```xml
    <s4hana-soap:config name="SAP_S4_HANA_Cloud_SOAP_Config">
        <s4hana-soap:basic-authentication-connection baseUrl="${config.cloud.soap.baseUrl}"
            username="${config.cloud.soap.username}" password="${config.cloud.soap.password}" />
        <s4hana-soap:web-service-addressing wsaVersion="WSA200408" />
    </s4hana-soap:config>
    ```
8. エディターの ​**\[Global Elements (グローバル要素)\]**​ タブに戻り、​`SAP_S4_HANA_Cloud_SOAP_Config`​ 設定を開きます。
9. ウィンドウ下部の ​**\[Test Connection…​ (接続をテスト…​)\]**​ ボタンをクリックして、正常に設定されていることを確認します。
10. テスト接続に成功したら、​**\[Test connection (接続をテスト)\]**​ と ​**\[Global Element Properties (グローバル要素のプロパティ)\]**​ ウィンドウを閉じます。
11. エディターの \[Message flow (メッセージフロー)\] タブを開いて、​**Invoke**​ 操作のプロセッサーを開きます。
12. プロパティウィンドウで次の各項目を設定します。
    
    - **Display Name (表示名)**​  
        UI に表示するコネクタ操作の名前。
    - **Connector Configuration (コネクタ設定)**​  
        `SAP_S4_HANA_Cloud_SOAP_Config`​ という名前の ​**Invoke**​ 操作で以前に作成したグローバル設定。
    - **Service name (サービス名)**​  
        サービスの名前。この例では、​`CreditManagementAccountByIDQuery_In`​ を選択します。
    - **Operation name (操作名)**​  
        サービスの操作名。この例では、​`CreditManagementAccountByIDQuery_In`​ を選択します。
    - **メッセージ**​  
        SOAP メッセージのコンテンツ。
13. メッセージペイロードのグラフィカルビューを開き、SOAP メッセージコンテンツを設定します。この例では、次のペイロードを設定します。
    
    ```dataweave
    %dw 2.0
    output application/xml
    ns ns0 http://sap.com/xi/SAPGlobal/Global
    ---
    {
        ns0#CreditManagementAccountByIDQuery: {
            MessageHeader: {
                ID: "@" as String,
                CreationDateTime: now()
            },
            Selection: {
                DebtorPartyInternalID: "0011100050" as String,
                CreditsegmentInternalID: 1 as String
            },
            LanguageCode: "ZZZ" as String
        }
    }
    ```
14. **Invoke**​ 操作の ​**\[General (一般)\]**​ プロパティを設定します。
    
    ![Invoke 操作の一般プロパティ](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-invoke-general-props.png)
15. **\[Advanced (詳細)\]**​ タブを開き、​**\[Web Service Addressing\]**​ ドロップダウンを ​`None`​ から ​`Edit inline`​ に変更します。
16. 次の項目を設定します。
    
    - **To (宛先)**​  
        このメッセージの意図される受信者のアドレス。
    - **Version (バージョン)**​ (省略可能)  
        WS-Addressing バージョン。何も指定されていない場合、コネクタでは設定の値が使用されます。
    - **From (送信元)**​ (省略可能)  
        メッセージの送信元となるエンドポイントの参照。何も指定されていない場合、コネクタでは設定の値が使用されます。
    - **メッセージ ID**​  
        時間と空間でメッセージを一意に識別する識別子。何も指定されていない場合、コネクタでは時間ベースの UUID が使用されます。
    - **Relates to (関連先)**​ (省略可能)  
        メッセージが関連するメッセージ ID。
        
        ![Invoke 操作の詳細プロパティ](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-invoke-addressing-props.png)
        
        Figure 4. 次の画像は、​**Invoke**​ 操作の ​**\[Web Service Addressing\]**​ プロパティを示しています。

### [](#transform-message-コンポーネントを追加および設定する)Transform Message コンポーネントを追加および設定する

応答で JSON に変換する内容を使用して、​**\[Transform Message\]**​ コンポーネントをフローに追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**「Transform Message」**​を検索します。
    
    ![「Mule Palette (Mule パレット)」 ビューで 「Transform Message (Core)」 コンポーネントが選択されている](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-select-transform.png)
2. **\[Transform Message\]**​ コンポーネントをキャンバスの ​**\[Invoke\]**​ 操作の右にドラッグします。
3. **\[Transform Message\]**​ 設定で、出力を json に設定し、​**\[Output (出力)\]**​ セクションの括弧をキーワード ​**message**​ に置換します。
    
    ```dataweave
    %dw 2.0
    output application/json
    ---
    message
    ```

### [](#logger-コンポーネントを追加および設定する)Logger コンポーネントを追加および設定する

**Logger**​ コンポーネントを追加して、Mule コンソールにメッセージ応答を表示するように設定します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューで、​**「Logger」**​を検索します。
2. **\[Logger\]**​ コンポーネントをキャンバスの ​**\[Transform Message\]**​ コンポーネントの右にドラッグします。
3. 次の項目を設定します。
    
    - **Display Name (表示名)**​  
        Logger コンポーネントの名前。
    - **メッセージ**​  
        Mule ログメッセージを指定する文字列または DataWeave 式。
    - **Level (レベル)**​  
        ログレベルを設定します。デフォルト値は ​`INFO`​ です。
        
        ![Logger](/mulesoft/current/ja-jp/sap-s4hana-soap-connector/2.4/_images/sap-s4hana-soap-logger.png)
        
        Figure 5. 次の画像は、項目のサンプル値を示しています。

### [](#アプリケーションの実行と検証)アプリケーションの実行と検証

1. アプリケーションを実行し、正常にデプロイされるまで待機します。
2. Web ブラウザーから次の URL にアクセスします: `http://localhost:8081/wsa`​。
3. 正常な応答が返されたことを確認します。
4. **\[payload (ペイロード)\]**​ で ​**\[headers (ヘッダー)\]**​ プロパティを見つけ、​**\[Relates to (関連先)\]**​ プロパティの値が ​**Invoke**​ 操作の ​**\[Message ID (メッセージ ID)\]**​ 項目で設定した値と同じであることを確認します。

## [](#web-service-addressing-の-xml-の例)Web Service Addressing の XML の例

このユースケース例のフローを Mule アプリケーションに読み込むには、次のコードを XML エディターに貼り付けます。必要に応じて、環境に合わせて値を変更します。

```xml
<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:s4hana-soap="http://www.mulesoft.org/schema/mule/s4hana-soap"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
	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/s4hana-soap http://www.mulesoft.org/schema/mule/s4hana-soap/current/mule-s4hana-soap.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">

	<configuration-properties file="mule-artifact.properties"/>

	<s4hana-soap:config name="SAP_S4_HANA_Cloud_SOAP_Config">
        <s4hana-soap:basic-authentication-connection baseUrl="${config.cloud.soap.baseUrl}"
        username="${config.cloud.soap.username}" password="${config.cloud.soap.password}" />
		<s4hana-soap:web-service-addressing wsaVersion="WSA200408" />
    </s4hana-soap:config>

	<http:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config">
		<http:listener-connection host="0.0.0.0" port="8081" />
	</http:listener-config>

	<flow name="web-service-addressing">
		<http:listener config-ref="HTTP_Listener_config" path="/wsa" />
		<s4hana-soap:invoke config-ref="SAP_S4_HANA_Cloud_SOAP_Config"
                    service="https://mysap.s4hana.instance.com/sap/bc/srt/wsdl_ext/flv_10002S111AD1/srvc_url/sap/bc/srt/scs_ext/sap/creditmanagementaccountbyidqu1"
                    operation="CreditManagementAccountByIDQuery_In">
                <s4hana-soap:addressing wsaTo="https://mysap.s4hana.instance.com/sap/bc/srt/scs_ext/sap/creditmanagementaccountbyidqu1"
                                        wsaMessageID="#[123456]" />
                <s4hana-soap:message><![CDATA[#[%dw 2.0
output application/xml
ns ns0 http://sap.com/xi/SAPGlobal/Global
---
{
	ns0#CreditManagementAccountByIDQuery: {
		MessageHeader: {
			ID: "@" as String,
			CreationDateTime: now()
		},
		Selection: {
			DebtorPartyInternalID: "0011100050" as String,
			CreditsegmentInternalID: 1 as String
		},
		LanguageCode: "ZZZ" as String
	}
}]]]></s4hana-soap:message>
            </s4hana-soap:invoke>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
message]]></ee:set-payload>
			</ee:message>
		</ee:transform>
		<logger level="INFO" message="#[payload]"/>
	</flow>
</mule>
```