使用OAuth在接收方REST适配器中进行自定义错误处理

2020-08-14 15:04发布

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

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


专家们,

我正在研究IDOC到REST方案。 我已经建立了Async-Sync桥,并在其余适配器中使用了OAuth授权,在这里,我可以使用来自第三方应用程序的请求-响应bean捕获响应,并以IDOC状态对其进行更新。 成功的方案工作正常。 我正在尝试为错误的客户端ID失败案例方案捕获错误。 我给了错误的客户端ID并试图在响应中捕获它,但是我收到以下错误。 在模块中,我已将参数setAppErrorOnCustomMessage用作true。 我已将错误处理设置为Exception,并将自定义结果设置为{http_result},但仍收到以下错误。 你们中的任何人都可以帮我吗?

2020/7/23 10:27:32.595 AMInformationRESTOUT_CUSTOM_HANDLING; CustomResult; 2; Exception7/23/2020 10:27:32.600 AMErrorMP:原因java.lang被捕获的异常。 NullPointerException:尝试调用从字段com.sap.aii.adapter.rest.ejb.channel加载的空对象的com.sap.aii.adapter.rest.ejb.common.http.AbstractHttpMethod.getResponseCharSet()方法时。 从局部变量this7/23/2020 10:27:32.600 AMInformationRRB加载的对象的HTTPWrapper.method_:恢复适配器框架捕获的transaction7/23/2020 10:27:32.602 AMErrorException:尝试调用com.sap方法时。 从本地变量this7/加载的对象的字段com.sap.aii.adapter.rest.ejb.channel.HTTPWrapper.method_的空对象的aii.adapter.rest.ejb.common.http.AbstractHttpMethod.getResponseCharSet() 23/2020 10:27:32.603 AMError将消息传输到端点 使用连接IDoc_AAE_http:// sap.com/xi/XI/System 失败,原因是:com。 sap.engine.interfaces.messaging.api.exception.MessagingException:java.lang.NullPointerException:尝试调用方法com.sap.aii.adapter.rest.ejb.common.http.AbstractHttpMethod.getResponseCharSet()时为null 从本地变量this加载的对象的com.sap.aii.adapter.rest.ejb.channel.HTTPWrapper.method_字段加载的对象

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

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


专家们,

我正在研究IDOC到REST方案。 我已经建立了Async-Sync桥,并在其余适配器中使用了OAuth授权,在这里,我可以使用来自第三方应用程序的请求-响应bean捕获响应,并以IDOC状态对其进行更新。 成功的方案工作正常。 我正在尝试为错误的客户端ID失败案例方案捕获错误。 我给了错误的客户端ID并试图在响应中捕获它,但是我收到以下错误。 在模块中,我已将参数setAppErrorOnCustomMessage用作true。 我已将错误处理设置为Exception,并将自定义结果设置为{http_result},但仍收到以下错误。 你们中的任何人都可以帮我吗?

2020/7/23 10:27:32.595 AMInformationRESTOUT_CUSTOM_HANDLING; CustomResult; 2; Exception7/23/2020 10:27:32.600 AMErrorMP:原因java.lang被捕获的异常。 NullPointerException:尝试调用从字段com.sap.aii.adapter.rest.ejb.channel加载的空对象的com.sap.aii.adapter.rest.ejb.common.http.AbstractHttpMethod.getResponseCharSet()方法时。 从局部变量this7/23/2020 10:27:32.600 AMInformationRRB加载的对象的HTTPWrapper.method_:恢复适配器框架捕获的transaction7/23/2020 10:27:32.602 AMErrorException:尝试调用com.sap方法时。 从本地变量this7/加载的对象的字段com.sap.aii.adapter.rest.ejb.channel.HTTPWrapper.method_的空对象的aii.adapter.rest.ejb.common.http.AbstractHttpMethod.getResponseCharSet() 23/2020 10:27:32.603 AMError将消息传输到端点 使用连接IDoc_AAE_http:// sap.com/xi/XI/System 失败,原因是:com。 sap.engine.interfaces.messaging.api.exception.MessagingException:java.lang.NullPointerException:尝试调用方法com.sap.aii.adapter.rest.ejb.common.http.AbstractHttpMethod.getResponseCharSet()时为null 从本地变量this加载的对象的com.sap.aii.adapter.rest.ejb.channel.HTTPWrapper.method_字段加载的对象
付费偷看设置
发送
3条回答
N-Moskvin
1楼-- · 2020-08-14 15:34

你好 Bajina Srinivas

您是否使用HTTP状态代码进行REST错误处理?

检查错误响应(如果实际上正在填充数据且结构看起来不错并成功执行响应映射)。

还要检查数据格式>响应消息>包装器元素,即元素名称和元素名称空间,它们应该是消息类型和名称空间。

谢谢!

ZJXianG
2楼-- · 2020-08-14 15:43

嗨Rajesh,

首先,感谢您的博客,它确实帮助我成功完成了案例的OAuth身份验证。 但是,我尝试使用http状态代码进行错误处理,但出现以下错误。此外,响应消息的wrapper元素设置为'checked'。

适配器框架捕获到异常:对的HTTP OAUTH 2.0 CLIENT CREDENTIALS GRANT调用失败。 获取访问令牌时出错-响应代码:401
响应:
{" error":" invalid_client"}

我在rest模块中使用的参数。

me_for_i
3楼-- · 2020-08-14 15:32

Bajina Srinivas

可以一次检查客户端凭据吗? 还要看一下附件。

谢谢!

一周热门 更多>