【问题标题】:Retrieve SOAP Request Valid from XSD从 XSD 检索有效的 SOAP 请求
【发布时间】:2021-05-14 09:31:52
【问题描述】:

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

网址: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 发送?

【问题讨论】:

  • 这不是 XSD,它是一个示例 SOAP 请求。您不能从单个 SOAP 请求派生 WSDL。您应该要求拥有该服务的团队提供 WSDL。

标签: soap request xsd soapui


【解决方案1】:

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

你有两个选择:

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

没有 WSDL 或关于所交换消息的外观的有效最新文档将使您在与 Web 服务交互时变得非常困难。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 2013-08-25
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多