Neuen SOAP Request erzeugen
Mit diesem Befehl erzeugen Sie ein neues SOAP Request-Dokument. Dies erfordert die folgenden Schritte:
1.Geben Sie den Pfad zur WSDL-Datei an und stellen Sie eine Verbindung zum SOAP-Server her.
2.Der Server gibt eine Liste von Operationen zurück. Wählen Sie die gewünschte SOAP-Operation aus.
3.Der Server sendet ein SOAP Request-Formular im XML-Format zurück. Definieren Sie das SOAP Request-Formular.
Im Folgenden wird die Vorgangsweise anhand der Erstellung eines SOAP Request für den SOAP-Service "US National Digital Forecast Database (NDFD)" gezeigt (http://www.nws.noaa.gov/xml/).
Herstellen einer Verbindung zum SOAP-Server
Die Verbindung wird über eine WSDL-Datei hergestellt. In unserem Beispiel lautet die URI der WSDL-Datei:http://www.weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl. Klicken Sie zum Herstellen der Verbindung auf den Befehl "Neuen SOAP Request erzeugen" und geben Sie im Dialogfeld, das angezeigt wird, die Datei-URI ein (Abbildung unten).
![SOAPRequestNDFD1](./images/soaprequestndfd1.png)
Klicken Sie zur Bestätigung auf OK.
Auswahl der gewünschten SOAP-Operation
Der Server sendet nun eine Liste von Operationen, die in einem Dialogfeld angezeigt werden (Abbildung unten).
![SOAPSelectOperationNDFD2](./images/soapselectoperationndfd2.png)
Wählen Sie eine Operation aus und klicken Sie auf OK. Wir haben die Operation NDFgenByDay ausgewählt.
Definieren des SOAP Request
Der Server sendet daraufhin eine XML-Datei, die in der Textansicht von XMLSpy angezeigt wird. Für die ausgewählte Operation erhalten wir die folgende XML-Datei.
<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>
We filled in the parameters as required by the XML (in bold red below; fill in a start date that is the current date or one within the next week):
<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>
Damit ist die Definition dieses SOAP Request abgeschlossen. Im nächsten Schritt senden wir den Request.