Windchill REST Services (WRS) を使用した Windchill のカスタマイズ
Windchill REST Services (WRS) API は、顧客が Windchill をカスタマイズして操作するための柔軟な方法を提供します。WRS API は HTTP を介して動作し、さまざまなリクエストと応答を可能にします。
カスタマイズで使用するための新しいユーティリティクラス WRSCaller が導入されました。
WRSCaller は、Windchill リリースで使用可能な WRS エンドポイントを呼び出すための Java ラッパーです。このラッパーは HTTP クライアントとして機能し、認証や nonce トークンなどのさまざまな機能をクラス内で直接自動的に処理します。
WRSCaller を介した WRS 呼び出しは、標準 HTTP クライアントからトリガーされたかのように動作します。
• WRSCaller 呼び出しをカプセル化する親トランザクションは、WRSCaller (POST、PUT、PATCH、DELETE) によって行われたデータ修正をロールバックできません。
• 現在のプリンシパルのアクセス制御が優先されます。
|
カスタムデータユーティリティおよびイベントリスナーを作成する際や、新規ドメインの作成や PTC ドメインの拡張など、WRS をカスタマイズする際には WRSCaller を使用しないでください。
|
各 HTTP 動詞 (GET、POST、PATCH、PUT、DELETE) には独自のメソッド署名が
WRSCaller にあり、JSON フォーマットで応答を返します。POST、PATCH、PUT の場合、リクエストボディは JSON フォーマットです。さらに、バッチリクエスト (
$batch) とスキーマリクエスト (
$metadata) には独自のメソッド (それぞれ
batch() および
edm()) があります。
edm() メソッドは XML フォーマットで応答を返します。
batch() メソッドでは、バッチボディが
OData 仕様、具体的には multipart/mixed フォーマットに準拠している必要があります。
HTTP 応答は ODataSerializableResponse オブジェクトにカプセル化されます。このオブジェクトには、クライアントがエラーや成功の処理に使用できる応答ステータスコード (HTTP 200、HTTP 404 など) が格納されています。ODataSerializableResponse オブジェクトには、応答ボディと応答ヘッダーを取得する次のメソッドがあります。
• getContent() - 応答ボディをバイト配列の形式で返します。バイト配列は、応答ヘッダー Content-Type の値に応じて、文字列やバイナリなどのさまざまなフォーマットに変換できます。
• getHeader(<Header_Name>) - パラメータとして渡されたヘッダー名のヘッダー値を読み込みます。
• getSkipToken() - 応答内に存在する場合、$skiptoken の値を返します。
• getContentAsJSON() - 応答を org.json.JSONObject として返します。応答のコンテンツタイプが JSON でない場合、UnsupportedOperationException を生成します。