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 商品在庫数の初期化方法」を参照して在庫管理サービスを停止させてください。