获取正在使用SAP PI Web Service的远程系统的IP地址

2020-09-22 15:13发布

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

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


尊敬的专家

我们有一个场景,其中第三方系统(远程系统)正在使用SAP PI中托管的Web服务。

我们需要在消息映射中获取第三方系统的IP地址,以便我们可以在SAP ECC中执行一些验证。

请在消息映射中建议我们使用一些UDF(用户定义函数)来获取第三方系统的IP。 或任何其他解决方案来验证SAP PI或ECC中的远程系统IP。

我们使用的是SAP PI 7.0版

跟踪级别2已激活,我们可以在消息日志中看到远程系统IP地址,如下面的屏幕快照所示。

请注意,我们已经测试了链接从第三个IP地址获取的UDF UDF的第三方系统

此致

Iftikhar Ali

pi-remote-ip.jpg (280.9 kB)

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

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


尊敬的专家

我们有一个场景,其中第三方系统(远程系统)正在使用SAP PI中托管的Web服务。

我们需要在消息映射中获取第三方系统的IP地址,以便我们可以在SAP ECC中执行一些验证。

请在消息映射中建议我们使用一些UDF(用户定义函数)来获取第三方系统的IP。 或任何其他解决方案来验证SAP PI或ECC中的远程系统IP。

我们使用的是SAP PI 7.0版

跟踪级别2已激活,我们可以在消息日志中看到远程系统IP地址,如下面的屏幕快照所示。

请注意,我们已经测试了链接从第三个IP地址获取的UDF UDF的第三方系统

此致

Iftikhar Ali

pi-remote-ip.jpg (280.9 kB)
付费偷看设置
发送
6条回答
梦想连接
1楼-- · 2020-09-22 15:51

嗨,

能否打开ESR,然后转到

SAP BASIS-> SAP BASIS 7.00-> http://sap.com/xi/XI/System ->适配器元数据-> SOAP,然后搜索单词"动态属性"? 它应该列出系统支持的技术名称。 例如,在我的PI 7.11系统中,以下是有效的:

并在此处分享您的屏幕截图?

此致

Mark

梦想连接
2楼-- · 2020-09-22 16:11

亲爱的Mark Dihiansan

我们在新的"答案"标签中共享了屏幕截图。 我们无法在评论部分附加多个屏幕截图。

此致

Iftikhar Ali

何必丶何苦呢
3楼-- · 2020-09-22 16:02

Iftikhar!

在SOAP适配器的设置中使用"设置适配器特定的消息属性"参数:

在消息映射中,您可以使用UDF从动态配置中获取价值:

公共字符串getDynamicFileName(容器容器)引发StreamTransformationException {
   字符串ipValue ="";
   试试{DynamicConfiguration config =(DynamicConfiguration)container.getTransformationParameters()。get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);  DynamicConfigurationKey key1 = DynamicConfigurationKey.create(" http://sap.com/xi/XI/System/SOAP"," SndrClientAddr");  ipValue = config.get(key1);
   } catch(Exception e){
     ipValue ="";
   }
   返回ipValue;
 } 

关于,Evgeniy。

Climb_Ma
4楼-- · 2020-09-22 15:56
激活变量传输绑定后的结果相同。

我认为主机的技术名称可能有问题。 我正在使用" SndrClientAddr"和" SRemoteHost"进行测试。 您能否帮助我们在系统中找到PI 7.0的技术主机名。

SAP小菜
5楼-- · 2020-09-22 16:01

亲爱的Mark Dihiansan

感谢您的答复。

在SOAP发送方通信通道中,"适配器特定的消息属性"处于活动状态。 不幸的是,我们无法在Message Monitory(SXMB_MONI)的SOAP标头中找到"动态配置"部分。 我正在向您分享一些屏幕截图:

此致

Iftikhar Ali

CPLASF-自律
6楼-- · 2020-09-22 15:54

尊敬的专家,我仍然无法在UDF中获取客户端IP。 目前,我正在执行以下操作:

在SOAP发送者通道中,我同时检查了"设置适配器特定的消息属性"和"可变传输绑定"。

从ESR中,我发现了动态属性:" SRemoteHost"和名称空间" http://sap.com/ xi/XI/System ",如以下屏幕截图所示:

我使用以下代码在消息映射中创建UDF:

 DynamicConfiguration dc =(DynamicConfiguration)container.getTransformationParameters()。get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);

 DynamicConfigurationKey键= DynamicConfigurationKey.create(" http:/" +"/img/sap.com/xi/XI/System/SOAP","SRemoteHost");字符串val = dc.get(key); if(val == null)  val ="";返回val; 

我在消息映射中得到了空值。 请给我建议在消息映射中获取客户端IP的解决方案。 我可以在跟踪级别为" 1"的消息监视" SXI_MONITOR"中看到客户端IP,如以下屏幕截图所示:

此致

Iftikhar Ali

一周热门 更多>