点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我在消息映射中使用R...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我在消息映射中使用R...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我在消息映射中使用REST查找UDF在将主数据传递到实际URL之前获取令牌,但不幸的是,它给出了错误。 我在其他开发中使用了相同的功能,效果很好。
AbstractTrace跟踪= container.getTrace(); 字符串令牌=""; 尝试{ //实例调用服务的渠道。 频道频道= LookupService.getChannel(" BC_XXXXX"," CC_REST_XXXXX_AUTH_RCV"); SystemAccessor访问器= LookupService.getSystemAccessor(channel); //XML的Request消息。 这是查询服务 字符串RESTxml =" <?xml version = \" 1.0 \" encoding = \" UTF-8 \"?>" +" <用户名> 12345 用户名> <密码> 123444 密码>"; InputStream inputStream =新的ByteArrayInputStream(RESTxml.getBytes()); XmlPayload有效负载= LookupService.getXmlPayload(inputStream); 有效负载RESTOutPayload = null; //响应将是有效负载。 对此进行解析以获取响应字段。 RESTOutPayload = accessor.call(有效载荷); /*解析RESTPayload以获取REST响应。 转换率在字段名称ConversionRateResult下可用*/ InputStream inp = RESTOutPayload.getContent(); DocumentBuilderFactory工厂= DocumentBuilderFactory.newInstance(); /*从输入XML创建DOM结构*/ DocumentBuilder builder = factory.newDocumentBuilder(); 文档document = builder.parse(inp); /*从节点列表中获取令牌*/ NodeList列表= document.getElementsByTagName(" id_token"); 节点node = list.item(0); if(node!= null){ 节点= node.getFirstChild(); if(node!= null){ 令牌= node.getNodeValue(); /*动态配置声明*/ DynamicConfiguration conf =(DynamicConfiguration)container.getTransformationParameters()。get(StreamTransformationConstants.DYNAMIC_CONFIGURATION); DynamicConfigurationKey键= DynamicConfigurationKey.create(" http://sap.com/xi/XI/System/REST","令牌"); conf.put(key,Token); } } } catch(Exception e){ trace.addWarning(" Error" + e); } trace.addInfo("服务执行成功"); 返回"";
(46.2 kB)
您好叶甫基尼
谢谢您的投入。 我已经通过以json格式传递输入并在通道CC_REST_XXXXX_AUTH_RCV中进行更改来成功获得令牌,因为接收方仅接受Json。
字符串RESTinput =" {\"用户名\":\" 12345 \",\"密码\":\" 123444 \"}";
您好 Sugata ,
这对我来说是正常的,在传递正确的数据后我没有收到错误消息。
最好
Ram Binnari
一周热门 更多>