我有一个包含嵌入式模式的 .wsdl
文件。我想使用该 .wsdl
文件来验证 XML 文件/字符串(就像您验证 .xsd
文件一样)。 模式在 <types>
标记之间。我已经做了以下工作:
public boolean validate(String xmlString) {
try {
// Convert to input stream
InputStream xml = new ByteArrayInputStream(xmlString.getBytes());
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(new File("wsdl_filepath"));
// Validate against wsdl
Validator validator = schema.newValidator();
validator.validate(new StreamSource (xml));
// XML Message is valid
return true;
} catch (SAXException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
这并不起作用。该验证器仅在针对一个.xsd文件进行验证时有效。我不确定如何修改它以针对嵌入式模式进行验证。
非常感谢您的帮助!
.wsdl
文件中提取模式。公司希望将其保留在其中。 - o.oDocument
风格的服务,这件事情已经被照顾好了。我们不需要自己操心。你可以通过将WSDL网址放入SOAPUI(Web服务测试工具)中来验证这一点。现在,当你即将触发请求时,只需更改请求XML。也许,添加一个额外的元素或删除一个元素。 - Tirath