機械翻訳について

requestHelperを使用したリクエスト・オブジェクトの生成

アプリケーション・レベルのイベントにサブスクライブしたり、アプリケーション・レベルの操作を実行するには、外部アプリケーションが、UIイベント・フレームワークによって提供されるサブスクライブおよび公開APIを起動できる必要があります。

これらのAPIは、イベントに関する情報を保持するリクエスト・オブジェクト、または操作が実行されることを想定します。 フレームワークは、ユーザーが各イベントまたは操作に固有のリクエスト・オブジェクトを生成できるようにするrequestHelperオブジェクトを提供します。

次のコード例は、requestHelperオブジェクトの構文を示しています:
IRequestHelper {
    createSubscriptionRequest(eventName: string): IEventRequest;
    createPublishRequest(operationName: string): IOperationRequest;
    }
    IEventRequest {
    getEventName(): string;
    }
    IOperationRequest {
    getOperationName(): string;
    }
次のTypeScriptの例は、イベント・サブスクリプションのリクエスト・オブジェクトを生成する方法を示しています:
/// <reference path="uiEventsFramework.d.ts"/> 
    const frameworkProvider: IUiEventsFrameworkProvider =
    await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
    const globalContext: IGlobalContext = await frameworkProvider.getGlobalContext();
    const requestObject: IEventRequest = 
frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusTabOpenEvent');
    globalContext.subscribe(requestObject,(response: IEventResponse) => {
      // custom code
    });
次のJavaScriptコード・サンプルは、イベント・サブスクリプションのリクエスト・オブジェクトを生成する方法を示しています:
const frameworkProvider = await 
CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
    const globalContext = await  frameworkProvider.getGlobalContext();   
    const requestObject = 
frameworkProvider.requestHelper.createSubscriptionRequest('cxEventBusTabOpenEvent');
     globalContext.subscribe(requestObject,(response) => {
    // custom code
    });
次のTypeScriptコード・サンプルは、操作を実行するためのリクエスト・オブジェクトの生成方法を示しています:
/// <reference path="uiEventsFramework.d.ts"/>  
    const frameworkProvider: IUiEventsFrameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
    const globalContext: IGlobalContext = await frameworkProvider.getGlobalContext();
    const restCallRequest: IServiceConnectionRequest = (frameworkProvider.requestHelper.createPublishRequest('InvokeServiceConnection') as IServiceConnectionRequest);
    restCallRequest.setServiceConnectionId('interactions/update_interactions');
    restCallRequest.setParameters({ "interactions_Id": "12345" });
    restCallRequest.setBody({ "StatusCd": "ORA_SVC_CLOSED" });
    globalContext.publish(restCallRequest).then((message: IOperationResponse) => {
    // custom code
    }).catch((error: IErrorData) => {
    // custom code
    });
次のJavaScriptコード・サンプルは、操作を実行するためのリクエスト・オブジェクトの生成方法を示しています:
const frameworkProvider = await CX_SVC_UI_EVENTS_FRAMEWORK.uiEventsFramework.initialize('MyFirstExtensionID');
    const globalContext = await frameworkProvider.getGlobalContext();
    const restCallRequest = (frameworkProvider.requestHelper.createPublishRequest('InvokeServiceConnection'));
    restCallRequest.setServiceConnectionId('interactions/update_interactions');
    restCallRequest.setParameters({ "interactions_Id": "12345" });
    restCallRequest.setBody({ "StatusCd": "ORA_SVC_CLOSED" });
    globalContext.publish(restCallRequest).then((message) => {
          // custom code
          const response = message.getResponseData();
          console.log(response.getStatus());
          console.log(response.getBody());
    }).catch((error) => {
          // custom code
    });