Altova XMLSpy 2023 Enterprise Edition

此命令将创建一个新的SOAP请求文档。它涉及以下步骤:

 

1.输入WSDL文件位置并连接到SOAP服务器

2.服务器将返回一个操作列表。选择所需的SOAP操作

3.服务器将返回一个以XML格式的SOAP请求表单。定义SOAP请求表单

 

我们通过为美国国家数字预报数据库(NDFD)SOAP服务(http://www.nws.noaa.gov/xml/)创建一个SOAP请求来演示这一过程。

 

连接到SOAP服务器

该连接是通过WSDL文件建立的。在本例中,WSDL文件的URI是:http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl。要建立连接,请单击新建SOAP请求命令,然后在出现的对话框(参见下方截图)中输入文件URI。

SOAPRequestNDFD1

单击确定以确认选择。

 

选择所需的SOAP操作

服务器返回一个操作列表,它们显示在对话框中(参见下方截图)。

SOAPSelectOperationNDFD2

选择一个操作并单击确定。我们选择了NDFDgenByDay操作。

 

定义SOAP请求

服务器将发送一个XML文件,该文件显示在XMLSpy的文本视图中。对于所选的操作,我们收到了以下XML文件。

 

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:m0="http://www.weather.gov/forecasts/xml/DWMLgen/schema/DWML.xsd">

  <SOAP-ENV:Body>

     <m:NDFDgenByDay xmlns:m="http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"

      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

        <latitude xsi:type="xsd:decimal">0.0</latitude>

        <longitude xsi:type="xsd:decimal">0.0</longitude>

        <startDate xsi:type="xsd:date">1967-08-13</startDate>

        <numDays xsi:type="xsd:integer">0</numDays>

        <format xsi:type="m0:formatType">String</format>

     </m:NDFDgenByDay>

  </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

 

我们按照XML的要求填写了参数(参见下文中红色粗体部分;在开始日期中填写当前日期或下周内某个日期):

 

<SOAP-ENV:Body>

  <m:NDFDgenByDay xmlns:m="http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl"

   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

        <latitude xsi:type="xsd:decimal">45</latitude>

        <longitude xsi:type="xsd:decimal">-90</longitude>

        <startDate xsi:type="xsd:date">2019-12-10</startDate>

        <numDays xsi:type="xsd:integer">1</numDays>

        <format xsi:type="m0:formatType">24 hourly</format>

  </m:NDFDgenByDay>

</SOAP-ENV:Body>

 

这样就完成了这个SOAP请求的定义。在下一步中,我们将发送请求

 

© 2017-2023 Altova GmbH