Пожалуйста, посмотрите мой ответ здесь:
Анализ IDoc в формате XML с использованием библиотеки классов SAP Java IDoc ?
Я думаю, что это должно ответить и на ваш вопрос.
Если у вас нет какого-либо RFC-соединения с сервером приложений SAP с вашим программным обеспечением, я могу только отговорить вас использовать SAP JCo и надстройку Java IDoc Class Library. Они не дают никакой пользы в этом случае.
Синтаксический анализ IDoc-XML не имеет смысла, поэтому он зависит от цели, которую вы ставите перед этим анализом. Если вы хотите только убедиться, что XML корректен и корректен, вы можете использовать любой стандартный синтаксический анализатор XML для этого. Любой другой синтаксический анализатор XML также создает некоторые объекты Java - по крайней мере, java.lang.String
объекты. Но если вы хотите получить объекты Java типа com.sap.conn.idoc.IDocDocument
, потому что вы намерены впоследствии использовать предлагаемые им удобные методы навигации, доступа или модификатора, то анализатор IDoc-XML должен иметь доступ к дополнительным метаданным IDoc (которые Сам IDoc-XML не предоставляет) для создания объектов такого типа.
Если вы намереваетесь проверить IDoc-XML не только на предмет правильности и корректности XML, но также и в том случае, если он дополнительно соответствует спецификации SAP IDoc-XML, я боюсь, что в Библиотеке классов Java IDoc SAP 1014 * и IDocXMLParser не может использоваться для такой отдельной задачи, и вам действительно нужно написать свой собственный синтаксический анализатор в этом случае.
Кстати, вы также можете взглянуть на SAP Business Connector , который предлагает соответствующие API для работы с IDoc и IDoc-XML. Конечно, это платформа интеграции для обмена бизнес-данными между различными системами, и нет библиотеки разработки для включения в собственные проекты приложений Java. Но я думаю, что можно легко разработать рабочие процессы, которые бы охватывали желаемую функциональность из вашего вопроса. Я не знаю, будет ли это соответствовать вашим общим требованиям проекта, так что это просто еще одна идея - идти другим путем.