2020-09-27 08:04发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在从UDF获取访问令牌值-查找,我想将此值添加到REST接收器自定义HTTP标头值中。
但是,据我了解,我们需要具有xml结构,可以在其中添加xpath表达式并传递值。
由于这个access_token是通过查找来的,因此我没有任何xpath表达式。
如何将此值传递给HTTP标头?
BR,
Rashmi
你好Rashmi,
您可以使用适配器特定的消息属性:在UDF中,添加动态属性并为其分配获取的访问令牌的值,然后在REST接收器通道中,可以使用它(在" REST URL"标签中 ',检查值源选项"适配器特定的属性")。 请注意,属性的名称空间应为" http://sap.com/xi/XI/System/REST "代表REST适配器(请参阅 博客(有关详细信息),并且在通信渠道和UDF中使用的属性名称应完全相同。 如果您已经使用XPath从消息中获取了值,那么添加自定义HTTP标头的部分通信通道中的其余配置将与该选项保持不变。
此致
Vadim
嗨Rashmi,
从消息日志中,我可以看到许多其他HTTP标头也未设置(或未反映在日志中)。 您能否对接收器通道进行跟踪(包括HTTP跟踪的XPI Inspector跟踪),并查看是否有任何成功处理检索到的适配器特定消息属性的迹象,以及是否设置了其他使用固定值配置的额外HTTP标头 ?
非常感谢 Vadim Klimov 。
重新启动PI系统解决了此问题。...
但是,响应映射出现了新问题。我无法看到SFDC正在发送什么响应...
有什么方法可以在REST适配器中记录这些消息?
错误-
您好 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 ...
但是下面是我在响应映射中遇到的错误-
我应该如何处理?
您可以使用POSTMAN测试SFDC REST API,以检查响应JSON格式。
然后,您可以在SAP PO中设计结构并在REST接收器通道中转换JSON响应,以使响应映射不会失败。
谢谢
Ritesh K
最多设置5个标签!
你好Rashmi,
您可以使用适配器特定的消息属性:在UDF中,添加动态属性并为其分配获取的访问令牌的值,然后在REST接收器通道中,可以使用它(在" REST URL"标签中 ',检查值源选项"适配器特定的属性")。 请注意,属性的名称空间应为" http://sap.com/xi/XI/System/REST "代表REST适配器(请参阅 博客(有关详细信息),并且在通信渠道和UDF中使用的属性名称应完全相同。 如果您已经使用XPath从消息中获取了值,那么添加自定义HTTP标头的部分通信通道中的其余配置将与该选项保持不变。
此致
Vadim
嗨Rashmi,
从消息日志中,我可以看到许多其他HTTP标头也未设置(或未反映在日志中)。 您能否对接收器通道进行跟踪(包括HTTP跟踪的XPI Inspector跟踪),并查看是否有任何成功处理检索到的适配器特定消息属性的迹象,以及是否设置了其他使用固定值配置的额外HTTP标头 ?
此致
Vadim
非常感谢 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
您好 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
嗨Rashmi,
您可以使用POSTMAN测试SFDC REST API,以检查响应JSON格式。
然后,您可以在SAP PO中设计结构并在REST接收器通道中转换JSON响应,以使响应映射不会失败。
谢谢
Ritesh K
一周热门 更多>