繁体   English   中英

将SAP idoc解析为Java对象

[英]Parse SAP idoc into Java object

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

仅创建IDocXMLParser实现将不起作用,因为对存储库进行的检查不为空,并且每个构造函数均受到保护。

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

您能否在这里查看我的答案:
使用SAP Java IDoc类库以XML格式解析IDoc

我认为这也应该在这里回答您的问题。 如果您的软件与SAP应用程序服务器之间没有任何RFC连接,则我不鼓励您使用SAP JCo和Java IDoc类库插件。 在这种情况下,它们不会提供任何好处。

出于解析的目的,IDoc-XML解析没有意义,因此它取决于此解析的目标。 如果仅要确保XML有效且格式正确,则可以为此使用任何标准XML解析器。 任何其他XML解析器也会创建一些Java对象-至少是java.lang.String对象。 但是,如果您想获得类型为com.sap.conn.idoc.IDocDocument Java对象,因为您打算以后使用它提供的便捷导航,访问器或修饰符方法,则IDoc-XML解析器需要访问其他对象。用于创建这些类型的对象的IDoc元数据(IDoc-XML本身不提供)。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM