Правильное использование кодов состояния HTTP на сервере проверки

Среди данных, которые мое приложение отправляет на сторонний SOA-сервер, - сложные XML-файлы. Владелец сервера предоставляет схемы XML (.xsd) и, поскольку сервер отклоняет недопустимые XML-сообщения с бессмысленным сообщением, мне необходимо проверить их локально перед отправкой.

Я мог бы использовать автономный валидатор XML-схемы, но они медленные, в основном из-за времени, необходимого для разбора файлов схемы. Поэтому я написал свой собственный валидатор схемы (на Java, если это имеет значение) в формеHTTP-сервер который кэширует уже проанализированные схемы.

Проблема в том, что многие вещи могут пойти не так в процессе проверки. Кроме непредвиденных исключений и успешной проверки:

сервер может не найти указанный файл схемыуказанный файл не может быть допустимым файлом схемыXML недопустим в отношении файла схемы

Поскольку это HTTP-сервер, я хотел бы предоставить клиенту значимоекоды состояния, Если сервер отвечает с400 ошибка (Плохой запрос) для всех вышеперечисленных случаев? Или они не имеют ничего общего с HTTP, и он должен ответить200 с сообщением в теле? Любое другое предложение?

Обновить: основное приложение написано вРубин, которая не имеет хорошей библиотеки проверки схемы XML, поэтому отдельный сервер проверки не является чрезмерной разработкой.

Ответы на вопрос(7)

Ваш ответ на вопрос