Java映射-添加新节点

2020-09-26 04:09发布

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

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


专家们,

我的发展面临一些问题。 我需要对输入的XML数据执行以下操作-

输入XML-

<?xml version =" 1.0" encoding =" UTF-8"?>

输出XML-

output.jpeg

请使用Java映射提供帮助

Br,

Abhishek

output.jpeg (23.0 kB)

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

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


专家们,

我的发展面临一些问题。 我需要对输入的XML数据执行以下操作-

输入XML-

<?xml version =" 1.0" encoding =" UTF-8"?>

输出XML-

output.jpeg

请使用Java映射提供帮助

Br,

Abhishek

output.jpeg (23.0 kB)
付费偷看设置
发送
5条回答
歪着头看世界
1楼-- · 2020-09-26 04:57

你好Abhishek!

据我所知,这是一个众所周知的行为:您不能在图形映射中创建多个IDOC元素,因为为该元素定义了1..1出现,并且我猜想,它是通过图形映射检查的 处理器。 因此,您有两种方法:要么为外部IDOC类型使用外部定义(发生1..9999),要么使用Java/XSLT映射程序,其中不执行对目标方案的检查。

关于,叶夫根尼。

N-Moskvin
2楼-- · 2020-09-26 04:55

嗨,马克,

没有Messages&Message1的映射。消息映射(成功的Java映射后)出现问题。 节点" IDOC"在源结构中可以是多个(在使用JM进行WSDL的步骤1转换之后创建),但是消息映射在目标结构中不适用于多个" IDOC"节点。 请参考所附的屏幕截图 mapping-issue.jpg

Br,

Abhishek

N-Moskvin
3楼-- · 2020-09-26 04:57

嗨Abhishek!

公共类MultiMessageWrapper扩展AbstractTransformation {
 @Override
 公共无效的transform(TransformationInput in,TransformationOutput out)抛出StreamTransformationException {
 executeMapping(in.getInputPayload()。getInputStream(),out.getOutputPayload()。getOutputStream());
 }

 public void executeMapping(InputStream is,OutputStream os)引发StreamTransformationException {
 尝试{
 字节输入[] =新字节[is.available()];
 is.read(输入);

 字符串inxml =新字符串(输入," UTF-8");
 字符串outxml =" <?xml version = \" 1.0 \" encoding = \" UTF-8 \"?>" +
 "  " +
 inxml.replace(" <?xml version = \" 1.0 \" encoding = \" UTF-8 \"?>","")+
 "  ";
 is.close();
 os.write(outxml.getBytes(" UTF-8"));
 }
 catch(例外e){
 抛出新的StreamTransformationException(e.getMessage());
 }
 }} 

关于Evgeniy

95年老男孩
4楼-- · 2020-09-26 04:57

嗨,

屏幕快照中的消息和message1仅表示您正在使用多重映射。 在ESR中进行测试时,您仅需要遵循该结构。 在运行时,您可以按原样发送文档,它将得到处理。 无需使用Java映射。

此致

Mark

Aaron 3364
5楼-- · 2020-09-26 05:04

大家好,

我正在使用Java Mapping(将Source WSDL转换为Idoc格式),然后在源和目标中使用同一Idoc的Message Mapping(用于一些内部映射)。

问题实际上出在消息映射中,其中" IDOC"节点在源结构中的Java映射中可能是多个。

但是问题出在步骤2中,消息映射无法将其转换为文档映射中附带的当前映射 -issue.jpg

Br,

Abhishek

一周热门 更多>