REST接收器添加自定义HTTP标头

2020-09-27 08:04发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在从UDF获取访问令牌值-查找,我想将此值添加到REST接收器自定义HTTP标头值中。

但是,据我了解,我们需要具有xml结构,可以在其中添加xpath表达式并传递值。

由于这个access_token是通过查找来的,因此我没有任何xpath表达式。

如何将此值传递给HTTP标头?

BR,

Rashmi

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在从UDF获取访问令牌值-查找,我想将此值添加到REST接收器自定义HTTP标头值中。

但是,据我了解,我们需要具有xml结构,可以在其中添加xpath表达式并传递值。

由于这个access_token是通过查找来的,因此我没有任何xpath表达式。

如何将此值传递给HTTP标头?

BR,

Rashmi

付费偷看设置
发送
5条回答
樱桃小丸子0093
1楼 · 2020-09-27 08:24.采纳回答

你好Rashmi,

您可以使用适配器特定的消息属性:在UDF中,添加动态属性并为其分配获取的访问令牌的值,然后在REST接收器通道中,可以使用它(在" REST URL"标签中 ',检查值源选项"适配器特定的属性")。 请注意,属性的名称空间应为" http://sap.com/xi/XI/System/REST "代表REST适配器(请参阅 博客(有关详细信息),并且在通信渠道和UDF中使用的属性名称应完全相同。 如果您已经使用XPath从消息中获取了值,那么添加自定义HTTP标头的部分通信通道中的其余配置将与该选项保持不变。

此致

Vadim

SAP浪
2楼-- · 2020-09-27 08:30

嗨Rashmi,

从消息日志中,我可以看到许多其他HTTP标头也未设置(或未反映在日志中)。 您能否对接收器通道进行跟踪(包括HTTP跟踪的XPI Inspector跟踪),并查看是否有任何成功处理检索到的适配器特定消息属性的迹象,以及是否设置了其他使用固定值配置的额外HTTP标头 ?

此致

Vadim

暮风yp
3楼-- · 2020-09-27 08:25

非常感谢 Vadim Klimov

重新启动PI系统解决了此问题。...

但是,响应映射出现了新问题。我无法看到SFDC正在发送什么响应...

有什么方法可以在REST适配器中记录这些消息?

错误-

服务器返回的代码为:20009/05/2017 09:40:56.689InformationProcessing result09/05/2017 09:40:56.769InformationREST调用已完成2017/05/09 09:40:56.961Error使用 连接SOAP_http:// sap.com/xi/XI/System 失败,原因是:com.sap.engine.interfaces .messaging.api.exception.MessagingException:执行映射时遇到错误:com.sap.aii.af.service.mapping.MappingException:运行时映射失败运行时执行应用程序映射程序com/sap/xi/tf/_MM_SFDC_RESTAPI_QUOTE_STATUS_UPSERT_RESP_V1_时发生异常 详细信息:com.sap.aii.mappingtool.tf7.IllegalInstanceException; 无法创建目标元素/Log_Messages/DT_SFDC_QUOTE_STATUS_RESP/item。 队列上下文中缺少值。 目标XSD要求该元素有一个值,但目标字段映射不会创建一个。 检查XML实例对于源XSD是否有效,以及目标字段映射是否满足目标XSD的要求

BR,

Rashmi

wang628962
4楼-- · 2020-09-27 08:48

您好 Ritesh Kayal

我检查了来自SOAPUI的响应消息,以下是我收到的响应-

{" access_token":" xxxxxxxxxxxxxxxx.b.62jco7n_Juvd",

" instance_url":" https://xxxxxxx.my.salesforce.com ",

" id":" https://test.salesforce.com/id/xxxxxxx4 ",

" token_type":"承载者",

" issued_at":" xxxxxxxx",

"签名":" xxxxxxxxxxxxxxx + zg ="}

下面是我在PI中定义的结构-

<?xml version =" 1.0" encoding =" UTF-8"?>

ca.com:OT_QUOTE_STATUS_UPSERT">

在其余接收器通道中,对于响应消息,我将格式保留为JSON ...

但是下面是我在响应映射中遇到的错误-

我应该如何处理?

BR,

Rashmi

蓋茨
5楼-- · 2020-09-27 08:30

嗨Rashmi,

您可以使用POSTMAN测试SFDC REST API,以检查响应JSON格式。

然后,您可以在SAP PO中设计结构并在REST接收器通道中转换JSON响应,以使响应映射不会失败。

谢谢

Ritesh K

一周热门 更多>