2020-08-17 11:07发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在使用SAP PI处理从SAOP到IDOC的方案。 要求说,发送方系统需要SAP PI本身而不是ECC的确认。
详细地说,发送方系统希望从SAP PI生成一条响应消息,说明PI是否已接收到该消息。
而在将响应发送回发送方系统(SOAP)之后,SAP PI应该进一步处理IDOC。
请大家为我提供解决方案,以实现上述要求。
谢谢。
关于
Somesh Mohan
Anil
您可以使用模块构建Sync-Async桥。 但是需要先发布IDOC,然后您可以使用任何消息将ACK从PI发送回SOAP。 但是您的要求是先发送Ack,然后发送IDOC,但是,这也是可能的,但这没有道理。
这是设计的概述。
SOAP(带有RR + Wait响应bean)---->使用2个入站接口(一个用于SOAP,另一个用于IDOC)将其分成2个接口---> IDOC使用所需的映射发布IDOC ---> 具有要发送的所需响应的SOAP接口(此相应的接收器通道应具有通知bean)。 不要忘记标记"在运行时保持订单"
Br,
Manoj
感谢您的答复,但根据我的要求,我想将PI中的"已接收"消息发送回SOAP 发送方作为对同一请求调用的响应。客户端对接收方系统的响应消息不感兴趣,但希望从PI获得响应消息。
我们有一个带有请求和响应消息的特定wsdl。 客户端希望响应相同的请求从PI本身发送回响应消息。
我创建了一个简单的异步方案SOAP--PI--IDOC --ECC。 现在,对于响应部分,我在ESR中创建了两个异步服务接口(SI),其中对于出站SI,我提供了wsdl的请求部分,而在入站SI中,我提供了wsdl的响应部分以及相关的映射。
在ICo中,对于确定接收方的类型,我选择了"扩展"并为ECC和发送方系统以及它们各自的通道添加了通信组件。
请帮助。
感谢与问候,
Somesh
嗨Anil,
根据您的要求,您需要先从接收方确认,然后才需要正确触发IDOC !!
1您可以为对目标系统的SOAP(SOAP到SOAP)同步调用创建1个接口。
2一旦收到目标的响应,则另一个接口(SOAP到SOAP)的接收者SOAP通道将调用IDOC(SOAP发送者通道)。
3根据目标消息的响应,您可以创建调用IDOC(SOAP发送方通道)的条件。
此致
萨米尔(Samir)。
您好,Evgeniy,
感谢您的宝贵意见。 您的方法帮助我满足了我的要求。
鉴于此,我在PI中遇到一种奇怪的行为。 每当触发消息时,都会得到响应,但是在PI监视中,我看到了三个事务。 请找到随附的屏幕截图以供参考。
capture.jpg
嗨Anil!
可以使用另一种方法。
这是一种同步/异步桥接变体(我之前曾经尝试过):
1。 创建具有接口的具有响应消息类型的多带带业务组件,以接收确认。
2。 在发件人SOAP适配器中,将RequestOnewayBean和WaitResponseBean一起使用(因为它在标准的Sync-Async桥配置中使用)。
3。 在iCo中使用两个接收器:您的ECC系统和新创建的业务组件。
4。 传递到ECC系统的方式通常是正常的,对于第二个BC,请使用多带带的OM来构建所需的响应消息(重要:您应该像在标准Sync-Async网桥配置的响应部分中一样,使用源消息ID来设置相关ID)。
5。 在第二个BC使用的接收方通信通道(例如SOAP)中,添加NotifyResponseBean模块并删除标准模块。
因此,iCo的第一部分将消息发送到接收系统(ECC),第二部分-使用响应消息关闭在发送者SOAP适配器中打开的网桥。
您还可以使用一个接收系统,并向其添加其他接口。 在这种情况下,您可以使用接口确定步骤的"在运行时维护订单"选项。 首先,您将响应发送到发送方系统,如果操作成功,则将源消息发送到ECC。
致谢,叶夫基尼。
最多设置5个标签!
Anil
您可以使用模块构建Sync-Async桥。 但是需要先发布IDOC,然后您可以使用任何消息将ACK从PI发送回SOAP。 但是您的要求是先发送Ack,然后发送IDOC,但是,这也是可能的,但这没有道理。
这是设计的概述。
SOAP(带有RR + Wait响应bean)---->使用2个入站接口(一个用于SOAP,另一个用于IDOC)将其分成2个接口---> IDOC使用所需的映射发布IDOC ---> 具有要发送的所需响应的SOAP接口(此相应的接收器通道应具有通知bean)。 不要忘记标记"在运行时保持订单"
Br,
Manoj
感谢您的答复,但根据我的要求,我想将PI中的"已接收"消息发送回SOAP 发送方作为对同一请求调用的响应。客户端对接收方系统的响应消息不感兴趣,但希望从PI获得响应消息。
我们有一个带有请求和响应消息的特定wsdl。 客户端希望响应相同的请求从PI本身发送回响应消息。
我创建了一个简单的异步方案SOAP--PI--IDOC --ECC。 现在,对于响应部分,我在ESR中创建了两个异步服务接口(SI),其中对于出站SI,我提供了wsdl的请求部分,而在入站SI中,我提供了wsdl的响应部分以及相关的映射。
在ICo中,对于确定接收方的类型,我选择了"扩展"并为ECC和发送方系统以及它们各自的通道添加了通信组件。
请帮助。
感谢与问候,
Somesh
嗨Anil,
根据您的要求,您需要先从接收方确认,然后才需要正确触发IDOC !!
1您可以为对目标系统的SOAP(SOAP到SOAP)同步调用创建1个接口。
2一旦收到目标的响应,则另一个接口(SOAP到SOAP)的接收者SOAP通道将调用IDOC(SOAP发送者通道)。
3根据目标消息的响应,您可以创建调用IDOC(SOAP发送方通道)的条件。
此致
萨米尔(Samir)。
您好,Evgeniy,
感谢您的宝贵意见。 您的方法帮助我满足了我的要求。
鉴于此,我在PI中遇到一种奇怪的行为。 每当触发消息时,都会得到响应,但是在PI监视中,我看到了三个事务。 请找到随附的屏幕截图以供参考。
capture.jpg
请帮助。
感谢与问候,
Somesh Mohan
嗨Anil!
可以使用另一种方法。
这是一种同步/异步桥接变体(我之前曾经尝试过):
1。 创建具有接口的具有响应消息类型的多带带业务组件,以接收确认。
2。 在发件人SOAP适配器中,将RequestOnewayBean和WaitResponseBean一起使用(因为它在标准的Sync-Async桥配置中使用)。
3。 在iCo中使用两个接收器:您的ECC系统和新创建的业务组件。
4。 传递到ECC系统的方式通常是正常的,对于第二个BC,请使用多带带的OM来构建所需的响应消息(重要:您应该像在标准Sync-Async网桥配置的响应部分中一样,使用源消息ID来设置相关ID)。
5。 在第二个BC使用的接收方通信通道(例如SOAP)中,添加NotifyResponseBean模块并删除标准模块。
因此,iCo的第一部分将消息发送到接收系统(ECC),第二部分-使用响应消息关闭在发送者SOAP适配器中打开的网桥。
您还可以使用一个接收系统,并向其添加其他接口。 在这种情况下,您可以使用接口确定步骤的"在运行时维护订单"选项。 首先,您将响应发送到发送方系统,如果操作成功,则将源消息发送到ECC。
致谢,叶夫基尼。
一周热门 更多>