Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム ファーストステップガイド


5.3.2 商品手配システム(基本編)の実行

商品手配システム(基本編)を実行する方法について説明します。

〈この項の構成〉

(1) 実行方法

サービスリクエスタからHTTPリクエストを送信します。

(a) HTTPリクエストの内容

HTTPリクエストの内容を次に示します。

項目

内容

HTTPメソッド

POST

データ形式

JSON

URL※1

http://localhost:80/rcp1/arrangeItem

入力インタフェース※2

"{\"itemName\":\"$itemName\", \"quantity\":$quantity}"

注※1

HTTP受付でのURLの指定方法の詳細については,マニュアル「サービスプラットフォーム 解説」の「2.15.4 HTTP受付のリクエスト処理」を参照してください。

注※2

$itemNameで入力できる商品は,次の4パターンだけです。これ以外を入力すると,在庫なしレスポンスを返却します。

  • PC

  • TV

  • Camera

  • Smartphone

$quantityには自然数だけ入力できます。在庫数は各商品10個ずつです。在庫がない場合,在庫なしレスポンスを返却します。

(b) コマンド実行例

ここでは,サービスリクエスタにはcurlコマンドを使用します。コマンドプロンプトを起動し,次のコマンドを入力して実行してください。

curl http://localhost:80/rcp1/arrangeItem -X POST -H "Content-Type: application/json" -d "{\"itemName\":\"PC\", \"quantity\":1}"

(2) 実行結果の確認

コマンドの実行後,実行結果が表示されます。

表示される内容を次に説明します。

(a) 正常に応答した場合(手配が完了した場合)

在庫ありレスポンスとして,手配が完了したことを知らせるメッセージ,商品名,個数,および配送番号が表示されます。

  • 出力例

    {"deliveryNumber": "D00000001", "itemName": "PC", "message": "Product is available for arrangement.", "quantity":"1"}

(b) 正常に応答した場合(在庫がない場合または商品リスト以外の商品を入力した場合)

在庫なしレスポンスとして,在庫がないことを知らせるメッセージ,商品名,および個数が表示されます。

  • 出力例

    {"deliveryNumber":"","itemName":"PC","message":"No stock is available.","quantity":"1"}

(c) ビジネスプロセス(基本編)の実行時に例外が発生した場合

次の内容が表示されます。

  • 出力例(在庫管理サービスを停止した状態で実行)

    <error-message>KDEC80421-E Processing will now be canceled because an error occurred during custom reception framework processing. (reception name = ServiceReceipt, reception ID = rcp1, operation name = arrangeItem, RootApInfo = 127.0.0.1/26656/0x0000000000002a5d, error message = A service call failed. business-process-definition-name = ProductStock_Normal, business-process-definition-version = 1, process-instance-ID = J2EEServer_0127001_ProductStock_Normal_1713749012284_200599499_58, invoke-activity-name = 在庫引当, service-name = InventoryManagement, details = A service call was interrupted because a custom service access error was detected. (adapter name = InvAdp, HCSCCommonID = CSC_HCSC_2024-04-22_10:23:32.260_2, ServiceRequestID = MSG_HCSC_SyncBP_2024-04-22_10:23:41.320_4, error message = An HTTP adapter error occurred. (adapter name = InvAdp, operation name = reserveItem, exception information = jp.co.Hitachi.soft.csc.cstmadp.http.rt.exception.CSAHTAException: KDEC81054-E An error status code was received from the service. (adapter name = InvAdp, operation name = reserveItem, status code = 404)), code = KDEC81499-E) ErrorCode=KDEC03005-E ErrorCode=KDEC20023-E, error code = KDEC80421-E)</error-message>

    ここで示した結果になるかどうかテストするために,在庫管理サービスを一時的に停止させたい場合は,「5.3.3 商品在庫数の初期化方法」を参照して在庫管理サービスを停止させてください。