簡體   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