点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我已经在SDN上的帖子中对此进行了大量研究和故障排除,但进展并不顺利。 我希望有人可以帮助我解决这个问题。
我的场景是我有一个接口,该接口最终到达SOAP接收器,该接口需要将有效负载重定向到Sender SOAP通道。 最后,我需要动态地执行此操作,这就是我碰壁的地方。
这是有效的,SOAP接收器通道的配置。 这将获取传入的有效负载,并将其重定向到给定的SOAP Sender。 之前有一个简单的MM:
-适配器类型:SOAP 7.01版本
-消息协议:SOAP 1.1
-适配器引擎:集成服务器
-目标URL:https://
-顺便说一句:我还在模块中做了一个PayloadSwapBean,但这没关系。 仅提及完整披露????
这确实将有效负载重定向到SOAP发送方,该发送方可以毫无问题地对其进行处理。
因此,我采取了下一步以动态设置TargetURL:以下是其他mod:
1)消息映射中的UDF设置TServerLocation
DynamicConfiguration conf =(DynamicConfiguration)container.getTransformationParameters()。get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); DynamicConfigurationKey键= DynamicConfigurationKey.create(" http://sap.com/xi/XI/System/SOAP"," TServerLocation"); conf.put(key,varURL);
2)在SOAP接收器中:
-目标URL设置为" https://",不带引号
-"高级"选项卡,选中"使用适配器特定的消息属性"和"可变传输绑定"
添加了以上信息:
-UDF中的varURL是传入的变量,其值与comm通道中的初始静态TargetURL相同(https://
-新的targetURL值" https://"是因为我发送的URL也是一个https,并且必须与我所见的SDN帖子匹配
当我使用相同的数据执行此操作时,我会看到:
1)SXI_MONITOR成功,并且有一个动态配置节点,其值是:
https:// :52201/XISOAPAdapter/MessageServlet?channel =:LMP_D:LMP_SOAP_Out_02 DE4_SC-INT-2076_20111003.xml
2)RTB适配器监视器中的错误说:
" SOAP的无效内容类型:TEXT/HTML;未经授权的HTTP 401:java.io.IOException:SOAP的无效内容类型:TEXT/HTML; HTTP 401未经授权"
因此,好像动态配置已按照我的期望进行设置,并且该值与成功执行目标的目标URL相同。 由于数据与之前的成功运行相同,并且应该使用相同的URL,所以我不理解401消息出现的错误。
正如我所说,我已经对SDN帖子进行了大量阅读和测试。 <<已删除文本>>,但没有链接垃圾邮件????
感谢您的帮助!
编辑者:马特(Matt),2011年10月5日上午9:37
你好,达林,
您的情况很有趣。 ????因为您的错误是401,所以这与凭据问题有关。 PI中存在一个错误,因此一旦对URL使用动态配置,则用户名也需要包含在动态配置中。 UDF中用户名的技术名称是TAuthKey。 通过转到高级选项卡->变量传输绑定->查看授权密钥,可以在SOAP接收器通信通道中设置密码。
PI中的标准SOAP发送者要求您仍然提供用户名/密码,即使您使用的是SSL。 确保用户名存在于PI中并具有必要的授权。 现在,请尝试输入您的PI用户名和密码。
希望这会有所帮助,
马克
亲爱的马克,
首先:我尝试了将UDF中的TAuthKey与SOAP接收器通道中的授权密钥用户名/密码对结合使用的解决方案,效果很好。
在这里,我必须两次维护相同的用户名(一次作为操作映射参数,一次在SOAP接收器通道的Authorization Keys中)。 您是否有可能仅在其中一个位置维护用户名?
最好的问候
Tobias Miller
一周热门 更多>