2008-09-03 16 views
12

Ich bin auf der Suche nach einem Tool zum Generieren eines JavaScript-Stub aus einer WSDL.Erzeugen von JavaScript-Stubs von WSDL

Obwohl ich normalerweise die Verwendung von REST-Services mit JSON oder XML bevorzuge, gibt es einige Tools, die ich derzeit integriere und die nur mit SOAP funktionieren.

Ich habe bereits eine erste Version des Clients in JavaScript erstellt, aber ich analysiere den SOAP-Umschlag manuell und ich bezweifle, dass mein Code ein Service-Upgrade überleben kann, zum Beispiel, wie komplex die SOAP-Envelope-Spezifikation ist.

So gibt es ein Tool, um automatisch vollständig SOAP-konforme Stubs für JavaScript aus der WSDL zu generieren, so dass ich mehr Vertrauen in die Zukunft meines Client-Codes habe.

Mehr: Der Web-Service, den ich versuche zu verwenden, ist RPC-codiert, nicht Dokument-Literal.

Antwort

7

Ich musste das selbst in der Vergangenheit tun, und ich fand diese CodeProject article. Ich habe es etwas verändert, aber es gab mir eine gute Grundlage, um alles umzusetzen, was ich brauchte. Eine der Hauptfunktionen, die es bereits hat, ist die Generierung des SOAP-Clients, der auf der WSDL basiert. Es hat auch Caching der WSDL für mehrere Aufrufe eingebaut.

Dieser Artikel enthält auch eine benutzerdefinierte Implementierung von XmlHttpRequest für Ajax-Aufrufe. Dies ist der Teil, den ich nicht benutzt habe. Während dieser Zeit, glaube ich, habe ich Prototype Javascript-Bibliothek verwendet und den Code in diesem Artikel geändert, um stattdessen dessen Ajax-Funktionen zu verwenden. Ich fühlte mich einfach wohler mit Prototype für die Ajax-Anrufe, weil es weit verbreitet war und in allen Browsern getestet wurde.

+2

Beachten Sie, dass das erwähnte Projekt jetzt auf http://javascriptsoapclient.codeplex.com verschoben wurde. Die alte URL hat nur Releases bis 2005-2006, aber die neue Site wird beibehalten. – mikemaccana

1

Es wäre wahrscheinlich ein Overkill, aber NetBeans hat diese Funktion.

+2

Ich kann dieses Feature in Netbeans nicht finden, einen Ratschlag? –

+0

Ich würde es auch gerne wissen. – jocull

9

Apache CXF verfügt über Tools, die JavaScript-Clients generieren, die Soap sprechen.

Eigentlich kann jeder CXF-Dienst einen Javascript-Client automatisch generieren lassen, indem er eine URL-Adresse mit angehängter "js" anlegt. (genau wie? wsld produziert die wsdl) Es gibt auch Kommandozeilen-Tools, aber das dynamisch erzeugte Zeug ist irgendwie ordentlich.

+2

Ich habe diese Tools ausprobiert, aber wdsl2js kann nicht mit RPC-kodierten Webservices arbeiten. –

+0

Aber danke für den Vorschlag, ich sollte hinzufügen. Versuchen Sie es mit denen, die mit literarischen Web-Services arbeiten. Abstimmung. –

+0

danke, guter Vorschlag. –