Проверка полезных нагрузок REST по их определению XML-схемы (XSD)
Как я могу проверить полезные нагрузки REST (xml) по определению схемы?
Что должен определить XSD как минимум?
Будет ли хорошей практикой предоставлять xsds для моих остальных полезных нагрузок в XML, чтобы потребители могли проверить эти xsds перед выполнением вызова?
1 ответ
Таким образом, вы можете получить больше ответов на него, если пометите его Java, но на основе этого поста ( Проверка XML по XSD(вы хотите что-то вроде этого:
static boolean validateAgainstXSD(InputStream xml, InputStream xsd)
{
try
{
SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new StreamSource(xsd));
Validator validator = schema.newValidator();
validator.validate(new StreamSource(xml));
return true;
}
catch(Exception ex)
{
return false;
}
}
Ваш XSD должен определить все элементы, атрибуты и записи в XML-документе, а также то, как часто они могут происходить и как минимум их можно нить. Я не знаю четко определенного способа предоставления WSDL с использованием REST, но вы можете рассмотреть возможность вызова API через ваш интерфейс, который в основном предоставляет WSDL/XSD, который вы используете для потребителей.
С учетом сказанного, почему бы вам просто не использовать интерфейс на основе SOAP для этого? REST великолепен и имеет свое место, но, похоже, вы ищете протокол обмена сообщениями с сильными типами и контрактами - для этого SOAP больше предназначен.