gpt4 book ai didi

xml - 为什么 SOAP 消息不使用标准的 XML 验证工具进行验证?

转载 作者:数据小太阳 更新时间:2023-10-29 02:35:41 27 4
gpt4 key购买 nike

我有一个非常简单的 SOAP XML,它是从基于 WSDL 的 Web 服务接收的,作为对 SOAP 请求的响应:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<PingResponse xmlns="http://somevalidnamespacedomain.org/xyz">
<PingResult>Pinging Back</PingResult>
</PingResponse>
</soap:Body>
</soap:Envelope>

此 SOAP XML 在 soapUI(用于接收此消息的工具)中完美验证。也就是说,如果我在 soapUI 中右键单击消息 Pane 并从上下文菜单中选择“验证”,它会显示“验证成功”。

enter image description here

但是,如果我将完全相同的消息复制并粘贴到 Notepad++(甚至是 Altova 的 XMLSpy),然后尝试验证(指向正确的 。 xsd),我收到一条不太清楚的错误消息:

Validation of current file using XML schema:

ERROR: Element '{http://schemas.xmlsoap.org/soap/envelope/}Envelope': No matching global declaration available for the validation root.

为什么会这样?

我需要用什么来包装(或修改)它才能使其在 soapUI 之外进行验证?

最佳答案

我猜想在验证时,您将验证器指向具有 soap 主体定义但没有 soap 信封结构定义的模式文档。因此,您的验证已经在根元素上失败。

请注意(尤其是)如果您告诉您的验证器使用某个特定的模式文件,它不知道,甚至对您的 XML 文档的用途不感兴趣。它只是检查语法并尝试验证整个文档(除非架构文档告诉您跳过某些元素的内容)。

关于xml - 为什么 SOAP 消息不使用标准的 XML 验证工具进行验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19820361/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com