Проверка полезных нагрузок 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 больше предназначен.

Другие вопросы по тегам