---
schema_version: "1"
id: 024fc2fb2e16bfe22c76ecee2274345e844da7eb297c7806bc41b6a7d9769f46
title: Rosettanet Connector の例
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/rosettanet-connector/2.0/rosettanet-connector-examples.md
canonical_url: https://docs.mulesoft.com/jp/rosettanet-connector/2.0/rosettanet-connector-examples
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 324ff0c1fc4fa9c4e386f43c6d824ebf1e3468d66d8628c67eb503fcfb0d0a7b
description: MuleSoft Documentation Site
release: "2.0"
latest: false
---
# Rosettanet Connector の例

この例は 2 つのアプリケーションで構成されています。

- 購入者アプリケーションは、購入注文要求メッセージを販売者アプリケーションに送信します。
- 販売者アプリケーションは、注文が履行されたときに購入注文確認メッセージを購入者アプリケーションに送信します。

次の図は、2 つのアプリケーションのリレーションを示しています。

![購入者アプリケーションと販売者アプリケーションのリレーション](/mulesoft/current/ja-jp/rosettanet-connector/2.0/_images/rosettanet-state-diagram.png)

## [](#購入者アプリケーション)購入者アプリケーション

購入者アプリケーションは次のアクションを実行します。

1. 入力購入注文要求ドキュメントを ​`HTTP POST`​ 経由で受信します。
2. RosettaNet の ​**Send action**​ 操作を使用して、購入注文要求メッセージを販売者アプリケーションに送信します。
3. 購入注文要求メッセージのメッセージ ID を、​`HTTP POST`​ への応答で使用するプレーンテキストに変換します。
4. 販売者アプリケーションから肯定応答シグナルを受信し、シグナルに関する情報を記録します。
5. 販売者アプリケーションから購入注文確認メッセージを受信し、確認メッセージに関する情報を記録します。
6. 販売者アプリケーションから完了状態を受信し、完了状態に関する情報を記録します。

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

![購入者アプリケーションの Studio フロー](/mulesoft/current/ja-jp/rosettanet-connector/2.0/_images/rosettanet-buyer-visual-flow.png)

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">購入者の非公開キー、購入者の証明書、販売者の証明書が含まれる購入者アプリケーションのキーストアは、プロジェクトの ​<code>src/main/resources</code>​ にあります。</td></tr></tbody></table>

### [](#購入者アプリケーションの最初のフローの作成)購入者アプリケーションの最初のフローの作成

購入者アプリケーションの最初のフローでは、購入注文要求ドキュメントを ​`HTTP POST`​ 経由で受信して、販売者アプリケーションに RosettaNet アクションメッセージとして送信します。このフローを作成するには、新しい Mule プロジェクトの作成、​**HTTP Listener**​ ソースの設定、​**Send action**​ 操作の追加、​**Transform**​ コンポーネントの追加を行う必要があります。

#### [](#http-listener-ソースの設定)HTTP Listener ソースの設定

デフォルトパス (​`/`​) へのコールが行われたときに Mule フローを開始するように ​**HTTP Listener**​ ソースを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して ​**\[Listener\]**​ コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、​**\[Connector configuration (コネクタ設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. **\[Name (名前)\]**​ 項目に、​`「HTTP_InputListener」`​と入力し、デフォルト値を受け入れます。

#### [](#po_initiatorconfig_buyer-グローバル要素を追加する)PO\_I​nitiatorConfig\_Buyer グローバル要素を追加する

**Send action**​ 操作の ​`PO_InitiatorConfig_Buyer`​ グローバル要素を追加します。

1. **Send action**​ 操作のプロパティウィンドウで、​**\[Module configuration (モジュール設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
2. **\[RosettaNet Config (RosettaNet 設定)\]**​ ウィンドウで、次の項目を入力します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Global HTTP Listener (グローバル HTTP リスナー)</th>
<th class="tableblock halign-left valign-top">HTTP_Listener-config</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Service Endpoint Path (サービスエンドポイントパス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/partner1</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Global HTTP Request (グローバル HTTP 要求)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">HTTP_R​equest_configuration</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Request Endpoint Path (要求エンドポイントパス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/partner2</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keystore Path (キーストアパス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/partner1.jks</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keystore Access password (キーストアアクセスパスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">nosecret</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Signing key password (署名キーパスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partner1</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Global usage code (グローバル使用コード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Test (テスト)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Mule DUNS identifier (Mule DUNS 識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">123456789</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Mule location identifier (Mule 場所識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partner1</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Partner DUNS identifier (パートナー DUNS 識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">123456788</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Partner location identifier (パートナーの場所識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partner2</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">role in PIP (PIP のロール)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">INITIATOR</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PIP definition path (PIP 定義パス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/PIP3A4/​V02_02​.xml</p></td>
</tr>
</tbody>
</table>
3. **\[OK\]**​ をクリックします。

#### [](#send-action-操作を追加する)Send Action 操作を追加する

`PO_InitiatorConfig_Buyer`​ グローバル要素で定義された設定を使用して購入注文要求メッセージを販売者アプリケーションに送信するために、​**Send action**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[RosettaNet\]**​ を選択して ​**\[Send action\]**​ 操作を ​**\[Listener\]**​ の横にドラッグします。
2. プロパティウィンドウで、次の項目を入力します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Send action</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Module configuration (モジュール設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">PO_I​nitiatorConfig_Buyer</p></td>
</tr>
</tbody>
</table>

#### [](#transform-message-コンポーネントの追加)Transform Message コンポーネントの追加

購入注文要求メッセージのメッセージ ID をプレーンテキストに変換する ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントを ​**\[Send action\]**​ の横にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output text/plain
    ---
    "Buyer sent action message " ++ attributes.messageId ++ "\n"
    ```

### [](#購入者アプリケーションの-2-番目のフローの作成)購入者アプリケーションの 2 番目のフローの作成

購入者アプリケーションの 2 番目のフローでは、販売者アプリケーションから肯定応答シグナルを受信し、シグナルに関する情報を記録します。また、販売者アプリケーションから購入注文確認メッセージを受信し、メッセージに関する情報を記録します。

#### [](#アクションソースを設定する)アクションソースを設定する

`/partner2`​ パスへのコールが行われたときに Mule フローを開始するように ​**Action source**​ ソースを設定します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Rosettanet\]**​ を選択して ​**\[Action source\]**​ ソースをキャンバスにドラッグします。
2. **\[Module configuration (モジュール設定)\]**​ 項目に​`「PO_InitiatorConfig_Buyer」`​と入力します。

#### [](#logger-コンポーネントを追加する)Logger コンポーネントを追加する

肯定応答および購入注文確認メッセージに関する情報が含まれるメッセージを記録する ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントをキャンバス上の ​**Action source**​ の横にドラッグします。
2. **\[Message (メッセージ)\]**​ 項目に、次のテキストを入力します。
    
    `"Buyer received action message #[attributes.messageId]"`

### [](#購入者アプリケーションの-3-番目のフローの作成)購入者アプリケーションの 3 番目のフローの作成

購入者アプリケーションの 3 番目のフローでは、販売者アプリケーションから完了状態を受信し、完了状態に関する情報を記録します。

#### [](#completion-source-を設定する)Completion Source を設定する

販売者からの購入注文完了状態メッセージをリスンするように ​**Completion source**​ ソースを設定します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Rosettanet\]**​ を選択して ​**\[Completion source\]**​ ソースをキャンバスにドラッグします。
2. **\[Module configuration (モジュール設定)\]**​ 項目に​`「PO_InitiatorConfig_Buyer」`​と入力します。

#### [](#logger-コンポーネントを追加する-2)Logger コンポーネントを追加する

購入注文完了状態に関する情報を記録する ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントをキャンバス上の ​**Completion source**​ の横にドラッグします。
2. **\[Message (メッセージ)\]**​ 項目に、次のテキストを入力します。
    
    `Buyer action message #[attributes.replyAttributes.messageId] completed as #[payload.completionCode]`

#### [](#アプリケーションを保存して実行する)アプリケーションを保存して実行する

アプリケーションを保存するには、​**\[File (ファイル)\] > \[Save (保存)\]**​ をクリックします。

アプリケーションを実行するには、​**\[Run (実行)\] > \[Run as (別のユーザーとして実行)\] > \[Mule Application (Mule アプリケーション)\]**​ をクリックします。

#### [](#購入者アプリケーションの-xml)購入者アプリケーションの XML

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

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

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns:rosetta="http://www.mulesoft.org/schema/mule/rosetta"
	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/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/rosetta
http://www.mulesoft.org/schema/mule/rosetta/current/mule-rosetta.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/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
	<http:listener-config name="HTTP_Listener_config"
	doc:name="HTTP Listener config" >
		<http:listener-connection host="localhost" port="8081" />
	</http:listener-config>
	<http:request-config name="HTTP_Request_configuration"
	doc:name="HTTP Request configuration">
		<http:request-connection host="localhost" port="8082" />
	</http:request-config>
	<rosetta:config name="PO_InitiatorConfig_Buyer"
	pipRole="INITIATOR" doc:name="RosettaNet Config"
	listenerConfigName="HTTP_Listener_config"
	servicePath="/partner1"
	requesterConfigName="HTTP_Request_configuration"
	requestPath="/partner2"
	keystorePath="/partner1.jks"
	keystorePass="nosecret"
	privatePass="partner1"
	globalUsageCode="Test"
	selfBusinessIdentifier="123456789"
	selfLocationId="partner1"
	partnerBusinessIdentifier="123456788"
	partnerLocationId="partner2"
	pipFile="/PIP3A4/V02_02.xml"/>
	<http:listener-config name="HTTP_InputListener"
	doc:name="HTTP Listener config" >
		<http:listener-connection host="localhost" port="8801" />
	</http:listener-config>
	<flow name="Send-Purchase-Order-Request" >
		<http:listener doc:name="Listener" config-ref="HTTP_InputListener"
		path="/"
		allowedMethods="POST"/>
		<rosetta:send-action doc:name="Send action"
		 config-ref="PO_InitiatorConfig_Buyer"/>
		<ee:transform doc:name="Transform Message"  >
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output text/plain
---
"Buyer sent action message " ++ attributes.messageId ++ "\n"]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
	<flow name="Receive-Purchase-Order-Confirmation"  >
		<rosetta:action-source doc:name="Action source"
		config-ref="PO_InitiatorConfig_Buyer"/>
		<logger level="INFO" doc:name="Logger"
		message="Buyer received action message #[attributes.messageId]"/>
	</flow>
	<flow name="Send-Purchase-Order-Completion" >
		<rosetta:completion-source doc:name="Completion"
		config-ref="PO_InitiatorConfig_Buyer"/>
		<logger level="INFO" doc:name="Logger"
		message="Buyer action message #[attributes.replyAttributes.messageId] completed as #[payload.completionCode]"/>
	</flow>
</mule>
```

## [](#販売者アプリケーション)販売者アプリケーション

販売者アプリケーションは次のアクションを実行します。

1. 入力購入注文要求確認ドキュメントを ​`HTTP POST`​ 経由で受信します。
2. RosettaNet の ​**Send action**​ 操作を使用して、購入注文確認メッセージを購入者に送信します。
3. 購入注文確認メッセージの RosettaNet メッセージ ID を、​`HTTP POST`​ への応答で使用するプレーンテキストに変換します。
4. 購入者アプリケーションから購入注文要求メッセージを受信し、要求メッセージに関する情報を記録します。
5. 購入者アプリケーションから肯定応答シグナルを受信し、シグナルに関する情報を記録します。
6. 購入者アプリケーションから完了状態メッセージを受信し、完了状態メッセージに関する情報を記録します。

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

![販売者アプリケーションの Studio フロー](/mulesoft/current/ja-jp/rosettanet-connector/2.0/_images/rosettanet-seller-visual-flow.png)

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">販売者の非公開キー、販売者の証明書、購入者の証明書が含まれる販売者アプリケーションのキーストアは、プロジェクトの ​<code>src/main/resources</code>​ にあります。</td></tr></tbody></table>

### [](#販売者アプリケーションの最初のフローの作成)販売者アプリケーションの最初のフローの作成

販売者アプリケーションの最初のフローでは、購入注文要求確認ドキュメントを ​`HTTP POST`​ 経由で受信して、購入者アプリケーションに RosettaNet アクションメッセージとして送信します。このフローを作成するには、新しい Mule プロジェクトの作成、​**HTTP Listener**​ ソースの設定、RosettaNet の ​**Send action**​ 操作の設定、​**Transform**​ コンポーネントの追加を行う必要があります。

#### [](#http-listener-ソースの設定-2)HTTP Listener ソースの設定

デフォルトパス (​`/`​) へのコールが行われたときに Mule フローを開始するように ​**HTTP Listener**​ ソースを設定します。

1. Studio で新しい Mule プロジェクトを作成します。
2. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[HTTP\]**​ を選択して \[Listener\] コンポーネントをキャンバスにドラッグします。
3. プロパティウィンドウで、\[Connector configuration (コネクタ設定)\] 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
4. **\[Name (名前)\]**​ に​`「HTTP_InputListener」`​と入力します。
5. **\[Port (ポート)\]**​ に​`「8082」`​と入力します。
6. **\[Read timeout (読み取りタイムアウト)\]**​ に​`「3000」`​と入力します。

#### [](#send-action-操作のグローバル要素を追加する)Send Action 操作のグローバル要素を追加する

**Send action**​ 操作の ​`PO_ResponderConfig_Seller`​ というグローバル要素を作成します。

1. **Send action**​ 操作のプロパティウィンドウで、​**\[Module configuration (モジュール設定)\]**​ 項目の横にある ​**\[+\]**​ をクリックしてグローバル要素を追加します。
2. **\[RosettaNet Config (RosettaNet 設定)\]**​ ウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Global HTTP Listener (グローバル HTTP リスナー)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">HTTP_Listener-config</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Service Endpoint Path (サービスエンドポイントパス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/partner2</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Global HTTP Request (グローバル HTTP 要求)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">HTTP_R​equest_configuration</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Request Endpoint Path (要求エンドポイントパス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/partner1</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keystore Path (キーストアパス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/partner2.jks</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Keystore Access password (キーストアアクセスパスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">nosecret</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Signing key password (署名キーパスワード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partner2</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Global usage code (グローバル使用コード)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Test (テスト)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Mule DUNS identifier (Mule DUNS 識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">123456788</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Mule location identifier (Mule 場所識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partner2</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Partner DUNS identifier (パートナー DUNS 識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">123456789</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Partner location identifier (パートナーの場所識別子)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">partner1</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">role in PIP (PIP のロール)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">RESPONDER</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">PIP definition path (PIP 定義パス)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">/PIP3A4/​V02_02​.xml</p></td>
</tr>
</tbody>
</table>
3. **\[OK\]**​ をクリックします。

#### [](#send-action-操作を追加する-2)Send Action 操作を追加する

購入注文確認メッセージを購入者アプリケーションに送信する ​**Send action**​ 操作を追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[RosettaNet\]**​ を選択して ​**\[Send action\]**​ 操作を ​**\[Listener\]**​ の横にドラッグします。
2. プロパティウィンドウで、次の項目を設定します。
    
    <table class="tableblock frame-all grid-all fit-content spread">
<colgroup>
<col>
<col>
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">項目</th>
<th class="tableblock halign-left valign-top">値</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Display Name (表示名)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Send action</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Module configuration (モジュール設定)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">PO_R​esponderConfig_Seller</p></td>
</tr>
</tbody>
</table>
3. **\[OK\]**​ をクリックします。

#### [](#transform-message-コンポーネントの追加-2)Transform Message コンポーネントの追加

購入注文確認メッセージのメッセージ ID を、​`HTTP POST`​ への応答で使用するプレーンテキストに変換する ​**Transform Message**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Transform Message\]**​ コンポーネントをキャンバス上の ​**\[Send action\]**​ の横にドラッグします。
2. プロパティウィンドウで、​**\[Output (出力)\]**​ セクションの括弧を次の DataWeave コードで上書きします。
    
    ```dataweave
    %dw 2.0
    output text/plain
    ---
    "Seller sent action message " ++ attributes.messageId ++ "\n"
    ```

### [](#販売者アプリケーションの-2-番目のフローの作成)販売者アプリケーションの 2 番目のフローの作成

販売者アプリケーションの 2 番目のフローでは、購入者アプリケーションから肯定応答シグナルを受信し、シグナルに関する情報を記録します。また、購入者アプリケーションから購入注文要求メッセージを受信し、要求に関する情報を記録します。

#### [](#アクションソースを設定する-2)アクションソースを設定する

デフォルトパス (​`/`​) へのコールが行われたときに Mule フローを開始するように ​**Action**​ ソースを設定します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Rosettanet\]**​ を選択して ​**\[Action source\]**​ ソースをキャンバスにドラッグします。
2. **\[Module configuration (モジュール設定)\]**​ 項目に​`「PO_ResponderConfig_Seller」`​と入力します。

#### [](#logger-コンポーネントを追加する-3)Logger コンポーネントを追加する

肯定応答シグナルおよび購入注文要求メッセージに関する情報を記録する ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントをキャンバス上の ​**Completion source**​ の横にドラッグします。
2. **\[Message (メッセージ)\]**​ 項目に、次のテキストを入力します。
    
    `Seller received action message #[attributes.messageId]`

### [](#販売者アプリケーションの-3-番目のフローの作成)販売者アプリケーションの 3 番目のフローの作成

販売者アプリケーションの 3 番目のフローでは、購入注文完了状態メッセージを購入者アプリケーションに送信し、購入注文完了状態メッセージに関する情報を記録します。このフローを作成するには、​**Action**​ ソースを設定し、​**Logger**​ コンポーネントを追加する必要があります。

#### [](#アクションソースを設定する-3)アクションソースを設定する

購入者アプリケーションから完了状態を受信するように ​**Action**​ ソースを設定します。

#### [](#logger-コンポーネントの追加)Logger コンポーネントの追加

購入注文完了状態メッセージに関する情報を記録する ​**Logger**​ コンポーネントを追加します。

1. **\[Mule Palette (Mule パレット)\]**​ ビューから、​**\[Core (コア)\]**​ を選択して ​**\[Logger\]**​ コンポーネントをキャンバス上の ​**Action source**​ の横にドラッグします。
2. **\[Message (メッセージ)\]**​ 項目に、次のテキストを入力します。
    
    `Seller action message #[attributes.replyAttributes.messageId] completed as #[payload.completionCode]`

#### [](#アプリケーションを保存して実行する-2)アプリケーションを保存して実行する

アプリケーションを保存するには、​**\[File (ファイル)\] > \[Save (保存)\]**​ をクリックします。

アプリケーションを実行するには、​**\[Run (実行)\] > \[Run as (別のユーザーとして実行)\] > \[Mule Application (Mule アプリケーション)\]**​ をクリックします。

### [](#販売者アプリケーションの-xml)販売者アプリケーションの XML

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

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

<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns:rosetta="http://www.mulesoft.org/schema/mule/rosetta"
	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/rosetta
http://www.mulesoft.org/schema/mule/rosetta/current/mule-rosetta.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/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
	<http:listener-config name="HTTP_Listener_config"
	doc:name="HTTP Listener config" >
		<http:listener-connection host="localhost" port="8082" />
	</http:listener-config>
	<http:request-config name="HTTP_Request_configuration"
	doc:name="HTTP Request configuration" >
		<http:request-connection host="localhost" port="8081" />
	</http:request-config>
	<rosetta:config name="PO_ResponderConfig_Seller"
	pipRole="RESPONDER"
	doc:name="RosettaNet Config"
	listenerConfigName="HTTP_Listener_config"
	servicePath="/partner2"
	requesterConfigName="HTTP_Request_configuration"
	requestPath="/partner1"
	keystorePath="/partner2.jks"
	keystorePass="nosecret"
	privatePass="partner2"
	globalUsageCode="Test"
	partnerBusinessIdentifier="123456789"
	partnerLocationId="partner1"
	selfBusinessIdentifier="123456788"
	selfLocationId="partner2" pipFile="/PIP3A4/V02_02.xml"/>
	<http:listener-config name="HTTP_InputListener"
	doc:name="HTTP Listener config" >
		<http:listener-connection host="localhost" port="8802" />
	</http:listener-config>
	<flow name="Send-Purchase-Order-Confirmation">
		<http:listener doc:name="Listener"
		config-ref="HTTP_InputListener"
		path="/" allowedMethods="POST"/>
		<rosetta:send-action doc:name="Send action"
		 config-ref="PO_ResponderConfig_Seller"/>
		<ee:transform doc:name="Transform Message">
			<ee:message >
				<ee:set-payload ><![CDATA[%dw 2.0
output text/plain
---
"Seller sent action message " ++ attributes.messageId ++ "\n"]]></ee:set-payload>
			</ee:message>
		</ee:transform>
	</flow>
	<flow name="Receive-Purchase-Order-Request">
		<rosetta:action-source doc:name="Action source"
		config-ref="PO_ResponderConfig_Seller"/>
		<logger level="INFO" doc:name="Logger"
		 message="Seller received action message #[attributes.messageId]"/>
	</flow>
	<flow name="Send-Purchase-Order-Completion">
		<rosetta:completion-source doc:name="Completion"
		config-ref="PO_ResponderConfig_Seller"/>
		<logger level="INFO" doc:name="Logger"
		message="Seller action message #[attributes.replyAttributes.messageId] completed as #[payload.completionCode]"/>
	</flow>
</mule>
```

## [](#サンプルをテストする)サンプルをテストする

購入者アプリケーションと販売者アプリケーションをテストするには、アプリケーションの実行後に次の手順を実行します。

1. 購入者アプリケーションに購入注文要求を提供します。
2. 販売者アプリケーションに購入注文要求応答を提供します。

### [](#購入注文要求ドキュメントの提供)購入注文要求ドキュメントの提供

購入者アプリケーションの ​`HTTP_InputListener`​ エンドポイントに対して HTTP POST を使用して、販売者に送信する購入注文要求を提供します。

[サンプル注文要求](https://s3-us-west-2.amazonaws.com/mulesoft-sites-vendorcontent/public-assets/sample-purchase-order-request-content.xml)​をダウンロードできます。次に、HTTP ツール (ブラウザープラグイン、PostMan などのスタンドアロンツール、または ​`curl`​ などのコンソールツール) を使用して、データを購入者アプリケーションに投稿します。

たとえば、次の ​`curl`​ コマンドは購入注文要求を投稿します。

`curl -v -H "Content-Type: application/xml" -XPOST --data-binary @sample-purchase-order-request-content.xml http://localhost:8801`

RosettaNet Connector は、購入注文要求に基づいて RosettaNet メッセージを生成して販売者に送信し、HTTP POST 操作に対してメッセージ識別子を返します。コンソールの出力は次のようになります。

```java
INFO  ... Seller received action message pMAIhTBMsGzAf/NFx83KBO9nt+T+DV2RNLhwlpNqnXM=0
INFO  ... Buyer action message pMAIhTBMsGzAf/NFx83KBO9nt+T+DV2RNLhwlpNqnXM=0 completed as SUCCESS
```

### [](#購入注文確認ドキュメントの提供)購入注文確認ドキュメントの提供

販売者アプリケーションの ​`HTTP_InputListener`​ エンドポイントに対して HTTP POST を使用して、購入者に送信する購入注文情報を提供します。

[サンプル購入注文確認](https://s3-us-west-2.amazonaws.com/mulesoft-sites-vendorcontent/public-assets/sample-purchase-order-confirmation-content.xml)​をダウンロードして、任意の HTTP ツールを使用して販売者アプリケーションにデータを投稿できます。

たとえば、次の ​`curl`​ コマンドは購入注文確認を投稿します。

`curl -v -H "Content-Type: application/xml" -XPOST --data-binary @sample-purchase-order-confirmation-content.xml http://localhost:8802`

RosettaNet Connector は、購入注文確認に基づいて RosettaNet メッセージを生成して購入者に送信し、HTTP POST 操作に対してメッセージ識別子を返します。コンソールの出力は次のようになります。

```java
INFO  ... Buyer received action message ng7+TalLLPTJZHok4tQSBi8RYZD8IsD9+iB85cubzM=1
INFO  ... Seller action message sng7+TalLLPTJZHok4tQSBi8RYZD8IsD9+iB85cubzM=1 completed as SUCCESS
```

このサンプルアプリケーションが送信する購入注文確認アクションは単なる例です。実際の購入注文確認を送信するには、RosettaNet の ​`send-action`​ 操作で ​`replyAttributes`​ を設定して、対応する購入注文要求の受信時に提供された情報を提供する必要があります。これらの ​`replayAttributes`​ により、RosettaNet プロトコルは同時に発生する多くの要求を見分けることができます。

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

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