Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

<response>

<call> 要素内で受け取った応答を処理します。

Synopsis

<call name="Call" target="MyApp.MyOperation" async="1">   <request type="MyApp.Request">     ...   </request>   <response type="MyApp.Response">     ...   </response> </call>

詳細

属性または要素 説明
type 属性 必須項目。応答メッセージ・クラスの名前。 1 文字以上の文字列。
name 属性 オプション。<response> 要素の名前。 0 ~ 255 文字の文字列。
その他の要素 オプション。<response> には、<assign><empty><milestone>、および <trace> をゼロ個以上、自由に組み合わせて使用できます。  

説明

<response> 要素は、<call> のオプションの子要素です。<call> コンテキスト内で、<response> 要素は、呼び出しから返される応答のタイプ (クラス名) を指定します。<response> 要素には、1 つ以上の <assign> 要素を含めることもできます。以下に例を示します。

<call name="FindSalary" target="MyApp.PayrollApp" async="1">
  <request type="MyApp.SalaryRequest">
    <assign property="callrequest.Name" value="request.Name" />
    <assign property="callrequest.SSN" value="request.SSN" />
  </request>
  <response type="MyApp.SalaryResponse">
    <assign property="context.Salary" value="callresponse.Salary" />
  </response>
</call>

呼び出し元のビジネス・プロセスに応答が返されると、<response> 要素で指定されたメッセージ・タイプからの出力パラメータが、ビジネス・プロセスの実行コンテキスト内の callresponse オブジェクトのプロパティになります。callresponse は <response> 要素内でのみ有効です。したがって、これらの値を保持するには、<response> 要素内で <assign> 要素を使用して、ビジネス・プロセスの実行コンテキストのより永続的なオブジェクト (通常は context または response) のプロパティに、callresponse の値を割り当てる必要があります。

詳細は、<call> および <assign> の説明を参照してください。

<request> 要素はすべての <call> 内に配置する必要がありますが、<response> は必須ではありません。<call> 要素内で <response> 要素を使用しない場合は、<request> タイプが応答を返すように指定されている場合でも、その <call> からは応答が返されません。<request> が非同期の場合、<response> 要素の本体に含まれる <assign> 要素は、呼び出しの応答を受け取った後にのみ実行されます。これがいつ実行されるかはわかりません。そのためビジネス・プロセスでは、通常、<sync> 要素を使用して非同期応答を待ちます。

<sync> 要素で指定されたタイムアウト時間内に応答がなかった場合、対応する <response> ブロックで定義された割り当ては実行されません。応答自体には、"Discarded" ステータスが設定されます。

関連項目

<process><reply>

FeedbackOpens in a new tab