Ответ 1
Если кто-нибудь приходит...
Насколько мне удалось найти во время поиска в Интернете до сих пор, в ABAP нет собственного способа проверки документа XML в отношении схемы XSD. Лучший вариант, который у вас есть, - DTD.
Мои образцы кода не завершены, поэтому копирование и вставка не будут работать, но в основном то, что я сделал, это сохранить схему XSD на сервере приложений и XML файл во временном каталоге. Я вызываю java-программу и передаю ее XML и XSD файл в качестве аргументов.
Вот код java
В ABAP вы можете вызвать эту команду и передать файл, сохраненный с помощью OPEN DATASET
. Вот пример кода:
Это работает, но это довольно медленно. Я нахожусь на компьютере с довольно скромным оборудованием по сравнению с живым сервером, но он занимает около 350 мс за проверку с небольшим XSD и небольшим XML.
Я не уверен, что запуск его как службы или RFC повысит производительность, но если вы хотите, чтобы это было сделано.