自定义 Header 带有 PASOE 业务中的令牌 Class 带有 Web 服务的实体?
Custom Header with token in PASOE Business Class Entity with Web Service?
我有一个 PASOE 业务 Class 实体设置为 Web 服务。我正在尝试确定如何创建一个允许我传入散列令牌的自定义 header。这是我需要为 DOH(OpenEdge.Web.DataObject.DataObjectHandler) 升级到 11.7.4 的东西吗?或者这是我简单地添加到 class 中定义的方法中的东西?抱歉,缺少代码来说明我的情况,但我不确定从哪里开始。
如果您将业务实体与 Web 传输一起使用,那么您将使用 DOH,并且以下内容适用。如果您使用的是休息交通工具,那么您不是使用 DOH,并且您的选择会更加有限。
在 https://documentation.progress.com/output/oe117sp/index.html#page/gssp4/openedge-data-object-handler.html 的 DOH 上有可用的文档 - 它适用于 11.7.4,但主要适用于所有版本(即从 11.6.3+ 开始)。这描述了 JSON 映射文件,您需要创建覆盖默认生成文件的映射文件。
如果您想对所有操作使用 header 的值,那么您可能需要使用 DOH 的事件之一。在 https://github.com/PeterJudge-PSC/http_samples/blob/master/web_handler/data_object_handler/DOHEventHandler.cls 有一个事件处理程序的例子;您将需要使用 new DOHEventHandler()
在 session 启动过程中启动该处理程序(编写代码的方式是它使自己成为一个单例)。
您现在可以为在业务逻辑 运行.
之前触发的 Invoking
事件添加处理代码
如果您想将 header 值传递到业务逻辑中,您需要
- 将生成的映射文件
<service>.gen
复制到同一文件夹中的 <service.map>
。 "gen" 个文件已生成并将被工具覆盖
- 在 .map 文件中,添加一个新的
arg
条目。这必须与 BE 方法的参数顺序相同。
- JSON 应该如下所示。这将读取 header 的值并将其作为输入参数传递给方法。
{ "ablName": "<parameter_name>",
"ablType": "CHARACTER",
"ioMode": "INPUT",
"msgElem": {"type": "HEADER", "name": "<http-header-name>"}
}
我有一个 PASOE 业务 Class 实体设置为 Web 服务。我正在尝试确定如何创建一个允许我传入散列令牌的自定义 header。这是我需要为 DOH(OpenEdge.Web.DataObject.DataObjectHandler) 升级到 11.7.4 的东西吗?或者这是我简单地添加到 class 中定义的方法中的东西?抱歉,缺少代码来说明我的情况,但我不确定从哪里开始。
如果您将业务实体与 Web 传输一起使用,那么您将使用 DOH,并且以下内容适用。如果您使用的是休息交通工具,那么您不是使用 DOH,并且您的选择会更加有限。
在 https://documentation.progress.com/output/oe117sp/index.html#page/gssp4/openedge-data-object-handler.html 的 DOH 上有可用的文档 - 它适用于 11.7.4,但主要适用于所有版本(即从 11.6.3+ 开始)。这描述了 JSON 映射文件,您需要创建覆盖默认生成文件的映射文件。
如果您想对所有操作使用 header 的值,那么您可能需要使用 DOH 的事件之一。在 https://github.com/PeterJudge-PSC/http_samples/blob/master/web_handler/data_object_handler/DOHEventHandler.cls 有一个事件处理程序的例子;您将需要使用 new DOHEventHandler()
在 session 启动过程中启动该处理程序(编写代码的方式是它使自己成为一个单例)。
您现在可以为在业务逻辑 运行.
之前触发的Invoking
事件添加处理代码
如果您想将 header 值传递到业务逻辑中,您需要
- 将生成的映射文件
<service>.gen
复制到同一文件夹中的<service.map>
。 "gen" 个文件已生成并将被工具覆盖 - 在 .map 文件中,添加一个新的
arg
条目。这必须与 BE 方法的参数顺序相同。 - JSON 应该如下所示。这将读取 header 的值并将其作为输入参数传递给方法。
{ "ablName": "<parameter_name>",
"ablType": "CHARACTER",
"ioMode": "INPUT",
"msgElem": {"type": "HEADER", "name": "<http-header-name>"}
}