Web services 手动从WSDL创建SOAP请求

Web services 手动从WSDL创建SOAP请求,web-services,soap,wsdl,Web Services,Soap,Wsdl,我正试图找出如何通过仅仅读取WSDL来构建SOAP请求 一切都指向使用库或客户机,这是可以理解的,但我确实想知道如果我想在cURL或Postman中实现它,如何阅读WSDL并自己编写响应。 (我知道编写XML非常耗时,使用SoapUI之类的东西更容易,但我想弄清楚如何构建这些SOAP请求) 我以NOAA为例 . . . 这个很长,所以我把它缩短了 我主要想知道: 如何获取每个操作的端点 我应该往身体里放什么? 正文消息中使用的QName和命名空间是什么? 每个资源都在声明只使用SoapU

我正试图找出如何通过仅仅读取WSDL来构建SOAP请求

一切都指向使用库或客户机,这是可以理解的,但我确实想知道如果我想在cURL或Postman中实现它,如何阅读WSDL并自己编写响应。 (我知道编写XML非常耗时,使用SoapUI之类的东西更容易,但我想弄清楚如何构建这些SOAP请求)

我以NOAA为例


.
.
.
这个很长,所以我把它缩短了

我主要想知道:

  • 如何获取每个操作的端点
  • 我应该往身体里放什么?
  • 正文消息中使用的QName和命名空间是什么?

每个资源都在声明只使用SoapUI或与库一起生成,而忽略了学习如何读取WSDL。我在找后者。求你了

我觉得这太复杂了。在@David-uhm上使用新的API要容易得多。我不是问如何查询API,我只是以它为例。我知道这很复杂,这就是为什么我要征求如何做的建议。;
<?xml version="1.0"?>
<!--   **********************************************************************   

       ndfdXML.wsdl   

       John L. Schattel          MDL                4 July 2007  
       Aniesha L. Alford
       Red Hat Linux                                Apache Server  

       SOURCE CODE CONTROL INFORMATION   

       Name:  
         %PM%  
         %PID%  

       Status:  
         %PS%   

       History:  
         %PL%                                                             

       Change Document History:                                            
         %PIRC%                                                           

      *************************************************************************   -->
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
             xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
             xmlns:si="http://soapinterop.org/xsd" 
             xmlns:tns="https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl" 
             xmlns:typens="https://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd" 
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
             xmlns="http://schemas.xmlsoap.org/wsdl/" 
             targetNamespace="https://graphical.weather.gov/xml/DWMLgen/wsdl/ndfdXML.wsdl">
    <types>
        <xsd:schema targetNamespace="https://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd">
            <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
            <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
            <xsd:simpleType name="sectorType">
                <xsd:restriction base='xsd:string'>
                    <xsd:enumeration value='conus'/>
                    <xsd:enumeration value='nhemi'/>
                    <xsd:enumeration value='alaska'/>
                    <xsd:enumeration value='guam'/>
                    <xsd:enumeration value='hawaii'/>
                    <xsd:enumeration value='puertori'/>
                    <xsd:enumeration value='npacocn'/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="unitType">
                <xsd:restriction base='xsd:string'>
                    <xsd:enumeration value='e'/>
                    <xsd:enumeration value='m'/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="formatType">
                <xsd:restriction base='xsd:string'>
                    <xsd:enumeration value='24 hourly'/>
                    <xsd:enumeration value='12 hourly'/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="productType">
                <xsd:restriction base='xsd:string'>
                    <xsd:enumeration value='time-series'/>
                    <xsd:enumeration value='glance'/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="latLonPairType">
                <xsd:restriction base='xsd:string'>
                    <xsd:pattern value="[\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+" />
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="listLatLonType">
                <xsd:restriction base='xsd:string'>
                    <xsd:pattern value="[\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+( [\-]?\d{1,2}\.\d+,[\-]?\d{1,3}\.\d+)*" />
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="zipCodeType">
                <xsd:restriction base='xsd:string'>
                    <xsd:pattern value="\d{5}(\-\d{4})?" />
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="zipCodeListType">
                <xsd:restriction base='xsd:string'>
                    <xsd:pattern value="\d{5}(\-\d{4})?( \d{5}(\-\d{4})?)*" />
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="featureTypeType">
                <xsd:restriction base='xsd:string'>
                    <xsd:enumeration value='Forecast_Gml2Point'/>
                    <xsd:enumeration value='Forecast_Gml2AllWx'/>
                    <xsd:enumeration value='Forecast_GmlsfPoint'/>
                    <xsd:enumeration value='Forecast_GmlObs'/>
                    <xsd:enumeration value='NdfdMultiPointCoverage'/>
                    <xsd:enumeration value='Ndfd_KmlPoint'/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="compTypeType">
                <xsd:restriction base='xsd:string'>
                    <xsd:enumeration value='IsEqual'/>
                    <xsd:enumeration value='Between'/>
                    <xsd:enumeration value='GreaterThan'/>
                    <xsd:enumeration value='GreaterThanEqualTo'/>
                    <xsd:enumeration value='LessThan'/>
                    <xsd:enumeration value='LessThanEqualTo'/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="listCityNamesType">
                <xsd:restriction base='xsd:string'>
                    <xsd:pattern value="[a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z](\|[a-zA-Z'\-]*( ?[a-zA-Z'\-]*)*,[A-Z][A-Z])*" />
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:simpleType name="displayLevelType">
                <xsd:restriction base='xsd:integer'>
                    <xsd:enumeration value='1'/>
                    <xsd:enumeration value='2'/>
                    <xsd:enumeration value='3'/>
                    <xsd:enumeration value='4'/>
                    <xsd:enumeration value='12'/>
                    <xsd:enumeration value='34'/>
                    <xsd:enumeration value='1234'/>
                </xsd:restriction>
            </xsd:simpleType>
            <xsd:complexType name="weatherParametersType">
                <xsd:all>
                    <xsd:element name="maxt"         type="xsd:boolean"/>
                    <xsd:element name="mint"         type="xsd:boolean"/>
                    <xsd:element name="temp"         type="xsd:boolean"/>
                    <xsd:element name="dew"          type="xsd:boolean"/>
                    <xsd:element name="pop12"        type="xsd:boolean"/>
                    <xsd:element name="qpf"      

    type="xsd:boolean"/>
.
.
.
    </definitions>