微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 XSD 检索有效的 SOAP 请求

如何解决从 XSD 检索有效的 SOAP 请求

我有这种调用 SOAP 服务的“指南”:

enter image description here

网址:http://80.211.113.172:8080/soap

根本没有 WSDL!

请求的 XSD:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="/soap_serv" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPENC="http://schemas.xmlsoap.org/soap/encoding/" SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 <SOAP-ENV:Body>
  <ns1:TRACKING>
    <ldv xsi:type="xsd:string">2020.00.0070423</ldv>
    <codcli xsi:nil="true"/>
    <rifcli xsi:nil="true"/>
    <anno_bl xsi:nil="true"/>
  </ns1:TRACKING>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

有谁知道如何创建一个请求对象以使用 SoapUI 发送?

解决方法

您显示的 XML 不是 XML 架构(或 XSD 文件)。正如@kimbert 在评论中指出的那样,这实际上是一个 SOAP XML 消息。其中的负载就是 XSD 架构的 XML 实例。

您有两个选择:

  • 请求 Web 服务的 WSDL,以便您可以生成一些客户端代码来帮助您进行调用。
  • 如果 WSDL 不可用,请索取更好的文档以了解如何调用该服务。不知道你从哪里得到这个例子,但操作名称是 TRACKING 吗? ns1 前缀是否指向正确的命名空间? TRACKING 元素内的元素是否也应该在这个命名空间中?另请注意,当该指南显示 codclirifcli 时,您在通话中使用了 cod_clirif_cli。您很可能还需要为您的元素发送值,而不是像这样将它们设为 null。

如果没有 WSDL 或有效的最新文档来说明交换的消息应该是什么样子,将使您在与 Web 服务交互时变得非常困难。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。