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).
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).
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.