IBM BPM JS 从另一个工具包调用外部服务(来自依赖)
IBM BPM JS Calling external Service from another Toolkit (from dependency)
我正在使用
- 每个外部系统的集成工具包...externalService
定义、服务器注册数据、ENV 指的是要使用的 J2C 信用、数据映射、业务错误处理等。
(业务层 TK ex. TK_SAP)
- 用于常见功能,例如日志记录、标记化、
伪化,常见的 http 错误处理我想使用另一个
工具包(传输层的通用实现,例如 TK_COM)。
所以它看起来像这个依赖链:
ProcessApp -> TK_SAP -> TK_COM
有一个带有输入 externalServiceName、operationName 的 serviceFlow 和一个 serviceFlow 请求 oAuth-token 并使用 [= 调用目标系统23=]externalServiceName, operationName.
问题是 - 当我尝试从 TK_COM 调用 BPMRESTRequest 时,我得到 NullPointerException 因为“externalServiceName”无法解析。
var request = new BPMRESTRequest();
request.externalServiceName = "language-translator-v2";
request.operationName="checkout";
...
var response = tw.system.invokeREST(request);
- 是否可以将服务定义存储在另一个 TK(上)中并从 Toolkit-invoker 引用它?
- 或者 BPMRESTRequest-Construct 是否有回调说明必须使用哪个 ServiceDefinition 并避免 NPE。
- 或者以编程方式调用 Rest 支持环境的另一种方式。
我知道切换层会有帮助(较低 TK 依赖性中的 serviceDefinition),但它不合逻辑:
ProcessApp -> TK_COM -> TK_SAP
答案是:JS-lib 实现。
在 TK_COM 中将通用功能实现为 JS-Server-file 使得从 TK_SAP 调用它会在 TK_SAP 命名空间中实例化 JS 执行上下文,因此所有定义都在 TK_SAP 中外部服务和变量将通过执行 JS 代码访问(实际上由低依赖性工具包提供)
我正在使用
- 每个外部系统的集成工具包...externalService 定义、服务器注册数据、ENV 指的是要使用的 J2C 信用、数据映射、业务错误处理等。 (业务层 TK ex. TK_SAP)
- 用于常见功能,例如日志记录、标记化、 伪化,常见的 http 错误处理我想使用另一个 工具包(传输层的通用实现,例如 TK_COM)。
所以它看起来像这个依赖链:
ProcessApp -> TK_SAP -> TK_COM
有一个带有输入 externalServiceName、operationName 的 serviceFlow 和一个 serviceFlow 请求 oAuth-token 并使用 [= 调用目标系统23=]externalServiceName, operationName.
问题是 - 当我尝试从 TK_COM 调用 BPMRESTRequest 时,我得到 NullPointerException 因为“externalServiceName”无法解析。
var request = new BPMRESTRequest();
request.externalServiceName = "language-translator-v2";
request.operationName="checkout";
...
var response = tw.system.invokeREST(request);
- 是否可以将服务定义存储在另一个 TK(上)中并从 Toolkit-invoker 引用它?
- 或者 BPMRESTRequest-Construct 是否有回调说明必须使用哪个 ServiceDefinition 并避免 NPE。
- 或者以编程方式调用 Rest 支持环境的另一种方式。
我知道切换层会有帮助(较低 TK 依赖性中的 serviceDefinition),但它不合逻辑:
ProcessApp -> TK_COM -> TK_SAP
答案是:JS-lib 实现。 在 TK_COM 中将通用功能实现为 JS-Server-file 使得从 TK_SAP 调用它会在 TK_SAP 命名空间中实例化 JS 执行上下文,因此所有定义都在 TK_SAP 中外部服务和变量将通过执行 JS 代码访问(实际上由低依赖性工具包提供)