承認通信委任インタフェース
承認通信委任インタフェースは、Windchill での監督官庁との対話をカスタマイズし、特定の通信ロジックおよびプロトコルを実装して監督官庁にサブミットする機能を提供します。監督官庁との通信に必要とされ、使用される通信メソッドをカスタマイズできます。監督官庁への通信に必要な初期化処理をカスタマイズすることもできます。承認通信委任インタフェースのクラス名は RegulatoryTransmissionDelegateInterface です。RegulatoryTransmissionDelegateInterface クラスを実装するクラスごとに、そのクラスのメソッドサーバー起動プロセスで initialize() メソッドが呼び出されます。
AbstractTransmissionDelegate クラスは getTransmissionPayloadCategory() API から返されたメッセージボディカテゴリをチェックし、これを使用して、そのメッセージボディがプライマリコンテンツを使用するか、そのメッセージボディカテゴリに関連付けられている規制コンテンツを使用するかを決定します。transmit() API の既成の ContentWriterTransmissionDelegate クラス実装は、getPayloadStream(RegulatorySubmission regulatorySubmission, Logger transmissionLogger) API によって返されたコンテンツをファイルベースまたは Azure ベースの場所に書き込みます。
範囲、適用可能性、前提条件
• ここでは、Java クラスおよびクラス拡張などの概念についての一般知識があることを前提とします。
• サービスクラスを登録する xconf メカニズムについての一般知識があることを前提とします。
必要条件
この最良事例を適用するには、以下を理解している必要があります。
• Java クラスの拡張
• Xconfmanager
ソリューションエレメント
次のテーブルで、各種ソリューションエレメントについて説明します。
エレメント
|
タイプ
|
説明
|
void initialize()
|
API
|
通信メソッドに必要な初期化をオーバーライドするメソッド。
|
boolean transmit(RegulatorySubmission regulatorySubmission)
|
API
|
申請情報を監督官庁に送信するコードをオーバーライドするメソッド。
|
getPayloadStream(RegulatorySubmission regulatorySubmission, Logger transmissionLogger)
|
API
|
監督官庁に送信するメッセージボディを返すメソッド。
|
デフォルトの動作
デフォルトのコンフィギュレーションは、デフォルトの委任として RegulatoryTransmissionDelegateInterface を実装する SimulateTransmissionDelegate というクラスを登録します。この委任を使用して、開発中に通信操作をシミュレートできます。本番環境では、通信機能を有効にするには、承認申請のタイプ (RPS、UDI、AER、および ER) ごとにカスタマイズされた通信委任を登録する必要があります。SimulateTransmissionDelegate は初期化機能を実行しません。通信メソッドにエラーメッセージが記録され、エントリ情報と既存の承認申請のメッセージボディのコンテンツが表示されます。このメッセージは、SimulateTransmissionDelegate クラスが呼び出されていることも示します。
デフォルトの委任は、REGMSTR.service.properties.xconf ファイル内の SimulateTransmissionDelegate クラスの xconf エントリとして定義されます。
<Service name="com.ptc.qualitymanagement.regmstr.impl.RegulatoryTransmissionDelegateInterface">
<Option requestor="null" serviceClass="com.ptc.qualitymanagement.regmstr.impl.SimulateTransmissionDelegate"
selector="default" cardinality="duplicate" />
</Service>
監督官庁に送信される実際のコンテンツは、
承認申請プロセッサインタフェースで使用可能な
getTransmissionPayloadCategory() API で設定できます。デフォルトの実装では、AER、ER、UDI の承認申請のメッセージボディの規制コンテンツと RPS のプライマリコンテンツが送信されます。
カスタムクラスの作成
通信機能をカスタマイズするには、RegulatoryTransmissionDelegateInterface クラスを拡張する Java クラスを作成します。transmit(RegulatorySubmission regulatorySubmission) メソッドと initialize() メソッドをオーバーライドし、通信機能を初期化するカスタムコードを指定して監督官庁にコンテンツを送信します。
次の例は、AdverseEventRegulatorySubmission に対して登録されている CustomTransmissionDelegate というカスタム委任の xconfiguration エントリを示しています。
<Service name="com.ptc.qualitymanagement.regmstr.impl.RegulatoryTransmissionDelegateInterface">
<Option requestor="null" serviceClass="com.ptc.qualitymanagement.regmstr.impl.CustomTransmissionDelegate"
selector="com.ptc.qualitymanagement.regmstr.AdverseEventRegulatorySubmission" cardinality="duplicate" />
</Service>
サブタイプにサービスクラスが存在しない場合、サービスクラスが見つかるまでサブタイプの親タイプがスキャンされます。サービスクラスが見つからない場合は、デフォルトの SimulateTransmissionDelegate クラスが使用されます。
委任を呼び出して通信を実行する承認申請のカスタマイズの領域の詳細については、
申請プロセッサの開発を参照してください。