首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将SAP idoc解析为Java对象

将SAP idoc解析为Java对象
EN

Stack Overflow用户
提问于 2018-11-08 18:19:30
回答 1查看 998关注 0票数 1

我正在尝试将SAP idoc XML字符串解析为Java对象。我尝试在我的maven项目中使用com.sap.conn.idoc.sapidoc3工件。我相信这确实拥有解析XML文件所需的所有工具,但这也需要我在代码中添加一个存储库/目的地。另外,我需要在我的类路径中添加我想要避免的东西。idocs将发送给我,而不使用任何IDocXMLParser连接,所以我实际上只需要idocs。

仅仅创建IDocXMLParser实现是行不通的,因为对存储库的检查不是空的,并且每个构造函数都是受保护的。

有没有一种方法可以直接解析/解组收到的XML字符串,而不需要自己编写所有的逻辑?

EN

回答 1

Stack Overflow用户

发布于 2018-11-08 21:38:10

请看一下我的回答:

Parsing an IDoc in XML format using SAP Java IDoc Class Library

我认为这也可以回答你的问题。如果您的软件没有任何到IDoc应用服务器的RFC连接,我只能劝阻您使用SAP JCo和Java附加组件。在这种情况下,它们不提供任何好处。

为了解析而进行的IDoc-XML解析是没有意义的,因此它取决于您使用此解析的目标。如果只想确保XML是有效的和格式良好的,可以使用任何标准的XML解析器。任何其他XML解析器也会创建一些Java对象--至少是java.lang.String对象。但是,如果您想要获得com.sap.conn.idoc.IDocDocument类型的对象,因为您打算在以后利用它提供的方便的导航、访问器或修饰符方法,那么IDoc-XML解析器需要能够访问额外的IDoc-XML元数据( IDoc -XML本身没有提供)来创建这些类型的对象。

如果您的意图不仅是检查IDoc-XML的有效性和格式良好性,而且还要检查它是否符合SAP的IDoc-XML规范,那么恐怕SAP Java IDoc类库的IDocXMLProcessor和IDocXMLParser不能用于这样一个独立的任务,在这种情况下,您必须编写自己的解析器。

顺便说一句,您还可以看看SAP Business Connector,它为处理IDocs和IDoc-XML提供了适当的API。当然,这是一个用于在各种系统之间交换业务数据的集成平台,而不是用于包含在自己的Java应用程序项目中的开发库。但是人们可以很容易地在那里开发工作流,我认为这将涵盖您问题中所需的功能。我不知道它是否适合您的一般项目需求,所以这只是遵循不同路径的另一个想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53205676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档