ERP服务使用者代理将一个CPI Iflow用于只有一个wsdl的多个外部Web服务

2020-08-16 13:22发布

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

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


您好,
我有一个带有wsdl的外部系统,用于包括多个Web服务。

SAP ERP中已有一个服务使用者代理,已用于通过SOAMANAGER直接通信。

现在应该在系统之间设置CPI。

这只能通过CPI的一个IFLOW来完成吗?

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

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


您好,
我有一个带有wsdl的外部系统,用于包括多个Web服务。

SAP ERP中已有一个服务使用者代理,已用于通过SOAMANAGER直接通信。

现在应该在系统之间设置CPI。

这只能通过CPI的一个IFLOW来完成吗?

付费偷看设置
发送
7条回答
lukcy2020
1楼 · 2020-08-16 13:54.采纳回答

您好 BodoKörner
请在下面找到示例:
在SoapUI中,我将Action设置为GoodAction 。

我在iFlow中打开了跟踪,以查看CPI中标头参数的确切名称是什么,结果证明它是SOAPAction。


我在运行时配置中将其定义为"允许的标头":

< br>

接下来在路由器中,我使用骆驼的简单表达式

 $ {header.SOAPAction} ='GoodAction'

我还创建了一个默认r

应该使用未处理的SOAP操作处理所有请求。

问候,
Bartosz

绿领巾童鞋
2楼-- · 2020-08-16 13:35

您好 BodoKörner

似乎是收件人返回的错误消息。 您能否打开iFlow的跟踪并检查传递给接收方的消息的内容,然后尝试使用SoapUI将其发布?
您要将SoapAction传递给接收器适配器吗?
问候,
Bartosz

葫芦娃快救爷爷
3楼-- · 2020-08-16 13:38

您好 BodoKörner
请查看将附件从SAP C4C复制到SAP S/4的标准iFlow。
从SAP Business Suite附件复制
在该iFlow中,基于特定条件,单个操作Web服务(异步)被路由到S/4中的多个Web服务。
理论上,您可以按照自己的方式进行操作-所有操作都将直接定向到单个iFlow,而路由器组件会将请求路由到相应的端点。
致谢,
Bartosz

Doze时光
4楼-- · 2020-08-16 13:51

我很高兴它能正常工作。
不客气:-)

Alawn_Xu
5楼-- · 2020-08-16 13:45

您好 BartoszZiólkowski

感谢这个好主意。 我不必通过有效负载中的标签(如ObjectTypeCode)来进行路由,而是通过标头中的soap操作来进行路由。 似乎无法在路由规则中读取。

示例有效载荷为:

sap语言:D
soapaction:"呼叫" sap-srt_id:20200608/133641/v1.00_final_6.40/005056A75E7D1EEAAAAF8A38260EE240 sap-passport:xyz
连接:close
> Content-Length:2212
Content-Type:text/xml;
charset = utf-8接受:text/xml
接受编码:gzip
接受语言:de -----:----
主机:192.168.XX.YX: 82
用户代理:SAP NetWeaver应用服务器(1.0; 740)
<?xml版本=" 1.0"编码=" utf-16"?>
http://schemas.xmlsoap.org/soap/envelope/">

http://www.sap.com/webas/712/soap/features/runtime/metering/">
SAhttp://www.sap.com/webas/712/soap/features/runtime/metering/"> SA> 0000000http://www.sap.com/webas/712/soap/features/runtime/metering/"> 0000000>
FED_810http://www.sap.com/webas/712/soap/features/runtime/metering/"> FED_810>
http://192.168.XX.YY:82/VTS/WShttp://schemas.xmlsoap.org/ws/2004/08/addressing"> http://192.168.XX.YY:82/VTS/WS> http://schemas.xmlsoap.org/ws/2004/08/addressing"> http://schemas.xmlsoap .org/ws/2004/08/addressing/role/anonymous> http://schemas.xmlsoap.org/ws/2004/08/addressing "> http://schemas.xmlsoap .org/ws/2004/08/addressing/role/anonymous> http://schemas.xmlsoap.org/ws/2004/08/addressing "> http://schemas.xmlsoap .org/ws/2004/08/addressing/role/anonymous>
http://schemas.xmlsoap.org/ws/2004/08/addressing">
http://localhost:82/VTS/WS/Call
uuid:005056a7-5e7d-1eea-aaaf-8a38260ec240http://schemas.xmlsoap.org/ws/2004/08/addressing"> uuid:005056a7-5e7d-1eea-aaaf-8a38260ec240>



http://www.tourenserver.de/" xmlns:prx =" urn: sap.com :proxy:FED:/1SAI/TASA963DE11D041CC65C0DB:740">
07-00-FE_4 -1 ...

此致

Bodo

hengyuye
6楼-- · 2020-08-16 13:58

您好, BartoszZiólkowski
现在开始 反应正确。 但是现在发送过程失败,并出现以下错误:
"错误详细信息org.apache.cxf.binding.soap.SoapFault:读取XMLStreamReader时出错:接收到事件DTD,而不是START_ELEMENT或END_ELEMENT。 ]:[1,14],原因:com.ctc.wstx.exc.WstxParsingException:在[row,col {unknown-source}]处接收到事件DTD,而不是START_ELEMENT或END_ELEMENT:[1,14]"

路亽曱_Ryan
7楼-- · 2020-08-16 13:58

嗨, BartoszZiólkowski
对不起,这是我的错 ,则请求网址错误。
更改后,一切正常。
最重要的提示是允许的标头。 SOAP Action。
感谢您的帮助。
BodoKörner
FLS

一周热门 更多>