从PI在客户端代理上捕获SOAP错误消息

2020-08-14 14:19发布

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

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


尊敬的论坛,

我的方案流程来自代理<----> SAP PI <---->合作伙伴Web服务(SOAP)

Web服务正在生成应用程序错误作为SOAP错误。 因此,PI正在接收SOAP错误,并使用XSLT删除SOAP信封并将其发送回Proxy

出站接口正在使用合作伙伴Web服务的WSDL中的Req,Res和故障

入站接口正在使用同一合作伙伴Web服务的WSDL中的Req,Res和Fault

针对故障情况向代理发送XML的示例:

在发生异常的情况下从代理解析错误:
XML期间的PARSE_APPLICATION_DATA错误=> ABAP转换:响应消息;/1SAI/TXS721992ED19B4BC2A275B第17行中的CX_ST_MATCH_ELEMENT系统预期元素'{ http ://xmldefs.vag.com/PP/Applications//Sece/V1 } OrderRespo

根据上述错误,即使在发生故障的情况下,它也总是期望"响应消息"。
对于成功的情况,这很好。 但是对于故障情况,总是希望引用'ResponseMessage'

这里有任何建议吗?


最好的问候,
Sateesh Nagabhiru

(30.7 kB)

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

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


尊敬的论坛,

我的方案流程来自代理<----> SAP PI <---->合作伙伴Web服务(SOAP)

Web服务正在生成应用程序错误作为SOAP错误。 因此,PI正在接收SOAP错误,并使用XSLT删除SOAP信封并将其发送回Proxy

出站接口正在使用合作伙伴Web服务的WSDL中的Req,Res和故障

入站接口正在使用同一合作伙伴Web服务的WSDL中的Req,Res和Fault

针对故障情况向代理发送XML的示例:

在发生异常的情况下从代理解析错误:
XML期间的PARSE_APPLICATION_DATA错误=> ABAP转换:响应消息;/1SAI/TXS721992ED19B4BC2A275B第17行中的CX_ST_MATCH_ELEMENT系统预期元素'{ http ://xmldefs.vag.com/PP/Applications//Sece/V1 } OrderRespo

根据上述错误,即使在发生故障的情况下,它也总是期望"响应消息"。
对于成功的情况,这很好。 但是对于故障情况,总是希望引用'ResponseMessage'

这里有任何建议吗?


最好的问候,
Sateesh Nagabhiru

(30.7 kB)
付费偷看设置
发送
2条回答
Bunny_CDM
1楼 · 2020-08-14 14:44.采纳回答

可以通过

解决此问题

将SOAP错误转换为应用程序错误。 我以前喜欢

-故障中不需要故障映射

-当我使用XSLT删除SOAP信封进行响应映射时,我使用了相同的XSLT来捕获SOAP错误异常,并生成带有其他"错误消息"和"状态"元素的响应消息。

-对于成功的案例,相同的XSLT生成响应,而相同的XSLT生成错误,以及"错误消息"和"状态"元素。

---因此,客户端代理会处理来自PI的此响应消息,并根据Status元素处理故障消息(如果来自PI的status ='E')

非常感谢。

奄奄一息的小鱼
2楼-- · 2020-08-14 14:46

嗨,Sateesh,

您的解决方案听起来不错,但我不使用XSLT,而是使用消息映射。

您是否将故障消息段插入响应服务界面?
我假设我必须对故障和响应使用相同的消息映射,对吗?

非常感谢您的支持
Sandra

一周热门 更多>