wake-up-neo.com

Anforderungs-/Antwort-XML aus einer WSDL generieren

Gibt es eine Möglichkeit, Request & Response-XML-Formate nur aus einer WSDL-Datei zu generieren - wenn der Webservice gerade nicht live ist. 

SoapUI gibt mir keine Antwort, es sei denn, es kontaktiert den Webservice mit einer Anfrage. Gibt es ein anderes Werkzeug, das dies tun kann?

Ich sollte davon ausgehen, dass diese Informationen verfügbar sind, da Client-Stub-Frameworks wie Axis/JAXWS usw. keine Stubs generieren können, um die Anforderung zu generieren und die Antwort zu interpretieren.

19
user93353

Probieren Sie dieses Online-Tool aus: https://www.wsdl-analyzer.com Es scheint kostenlos zu sein und generiert weitaus mehr als nur das XML für Anfragen und Antworten. Es gibt auch Folgendes: https://www.oxygenxml.com/xml_editor/wsdl_soap_analyzer.html , das heruntergeladen werden kann, aber nicht kostenlos.

24

Ich verwende SOAPUI 5.3.0. Es hat auch die Möglichkeit, eine Antwort zu erstellen (über wsdl). Sie können sogar einen Mock-Service erstellen, der reagiert, wenn Sie eine Anfrage senden. Vorgehensweise ist wie folgt

  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt, und wählen Sie die Option New Mock Service aus, die erstellt wird. 
  2. Klicken Sie mit der rechten Maustaste auf den Scheindienst und wählen Sie Neu Mock Operation Option, die eine Antwort erzeugt, die Sie verwenden können als Vorlage.
13

Der einfachste Weg ist die Verwendung dieser Chrome-Erweiterung link , der glückliche Webservice-Anforderung

7

Parasoft ist ein Werkzeug, das dies kann. Ich habe genau dieses Ding an meinem Arbeitsplatz gemacht. Sie können eine Anfrage in Parasoft SOATest generieren und eine Antwort in Parasoft Virtualize erhalten. Es kostet aber. Allerdings verfügt Parasoft Virtualize jetzt über eine kostenlose Community Edition, aus der Sie Antwortnachrichten aus einer WSDL generieren können. Sie können von parasoft Community Edition herunterladen

4
Samuel Garratt

Wenn Sie dies selbst tun, erhalten Sie Einblick in die Struktur einer WSDL und wie sie Ihre Arbeit erledigt. Es ist eine gute Lernmöglichkeit. Dies kann mit soapUI erfolgen, wenn Sie nur die URL der WSDL haben. (Ich verwende soapUI 5.2.1) Wenn Sie tatsächlich die vollständige WSDL als Datei zur Verfügung haben, benötigen Sie nicht einmal soapUI. Der Titel der Frage lautet "Request & Response-XML", während der Fragenkörper "Request & Response-XML-Formate" enthält, die ich als Schema der Anforderung und Antwort interpretiere. In jedem Fall erhalten Sie das Schema, das Sie unter XSD2XML verwenden können, um Beispiel-XML zu generieren.

  1. Starten Sie ein "Neues Seifenprojekt", geben Sie einen Projektnamen und einen WSDL-Speicherort ein. Wählen Sie "Requests erstellen", deaktivieren Sie die anderen Optionen und klicken Sie auf OK.
  2. Klicken Sie mit der rechten Maustaste unter der "Projekt" -Struktur auf eine Schnittstelle Und wählen Sie "Interface Viewer anzeigen".
  3. Wählen Sie die Registerkarte "WSDL-Inhalt".
  4. Sie sollten den WSDL-Text auf der rechten Seite sehen. Suchen Sie nach dem Block, der mit "wsdl: types" beginnt. Darunter befinden sich das Schema für die Eingabe- und Ausgabenachrichten.
  5. Jede Schemadefinition beginnt mit etwas wie <s:element name="GetWeather"> und endet mit </s:element>.
  6. Kopieren Sie den Block in einen Texteditor. über diesem Block fügen Sie hinzu: <?xml version="1.0" encoding="UTF-8"?><s:schema xmlns:s="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  7. Fügen Sie unter dem Block des kopierten XML-Codes </s:schema> hinzu.
  8. Entscheiden Sie, ob Sie "UTF-16" anstelle von "UTF-8" benötigen.
  9. Das "s:" und das "xmlns: s" sollten mit dem Block übereinstimmen, den Sie kopiert haben (Schritt 5).
  10. Speichern Sie diese Datei mit der Erweiterung ".xsd". Wenn Sie "XML Copy Editor" oder ein solches Werkzeug (XML Spy, möglicherweise) haben, sollten Sie das .__ überprüfen. Dies ist wohlgeformtes XML und gültiges Schema.
  11. Wiederholen Sie dies für alle "Element" -Elemente im rechten Fensterbereich von soapUI bis du erreichst 
  12. Auf diese Weise erhalten Sie einige Typdefinitionen, bei denen Sie möglicherweise nicht .__ sind. interessiert. Wenn Sie auswählen und auswählen möchten, verwenden Sie die folgenden Optionen method: Durchsuchen Sie die Elemente "wsdl: operation" unter "wsdl: portType" im WSDL-Text unter den Typdefinitionen. Sie haben "wsdl: input" und "wsdl: output". Nehmen Sie die Nachrichtennamen von "wsdl: input" und "wsdl: output". Vergleichen Sie sie mit den Namen "wsdl: message", die wahrscheinlich über den Einträgen "wsdl: portType" in der WSDL liegen. Rufen Sie den Elementnamen "wsdl: part" vom Element "wsdl: message" ab und suchen Sie diesen Namen als Elementnamen unter "wsdl: types". Das ist das Schema, das Sie interessiert.

Sie können das oben beschriebene Verfahren mit der WSDL unter http://www.webservicex.com/globalweather.asmx?wsdl ausprobieren. 

2
MikeC

Da Sie sagen, dass der Webservice momentan nicht live ist, können Sie dies tun, indem Sie Mock-Services erstellen, die das Musterantwortformat erstellen. 

1
ChanGan

Um Ihre WSDL-Datei zu testen, sind Online-Links:

https://wsdlbrowser.com/

https://wsdlanalyzer.com/

0
A_J