我有一个肥皂信封
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file:///Users/michael/Downloads/soap.xsd">
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
soap.xsd只是保存到soap.xsd的http://schemas.xmlsoap.org/soap/envelope/的本地版本
当我尝试验证这一点时,它表示每个targetAction的架构目标都不正确
所有试验和错误都指向xmlns:xsi标记,指出了错误
我想知道它是否与SOAP 1.0和1.1有关
(我已经能够使用完全相同的方法来验证soap中的xml),我非常确定这可以在一个元素中完成,但是出于理智的考虑,我试图使其正常工作
答案 0 :(得分:1)
通过反复试验,确定肥皂的答案是以下格式
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/\">
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
然后您可以验证这是一个有效的SOAP,但是可悲的是,如果主体中存在xml,并且您还正确地指向xsd文件,则它们都无法验证。
当我说验证时,我的意思是不使用lib2xml或任何其他外部工具。仅使用xml文件本身进行验证