Ich habe eine WSDL-Datei (oder, genauer gesagt, ihre URL). Ich muss sie in Java-Klassen umwandeln. Außerdem muss ich Tests für den darin beschriebenen Webdienst bereitstellen. Ich bin neu im Bereich der Webdienste, kann mir jemand sagen, wie man WSDLs in Java konvertiert?
Ich verwende Eclipse JEE Kepler. Vielleicht gibt es einige Plugins, die das automatisch erledigen?
In Eclipse Kepler ist es sehr einfach, Web Service Client Klassen zu generieren, Sie können dies durch folgende Schritte erreichen.
Klicken Sie mit der rechten Maustaste auf ein beliebiges Projekt->Create New Other ->Web Services->Web Service Client->Fügen Sie dann die wsdl url(oder location) in Service Definition->Next->Finish
Sie werden sehen, dass sich die generierten Klassen in Ihrem src-Ordner befinden.
HINWEIS: Ohne Eclipse können Sie auch Client-Klassen aus einer wsdl-Datei generieren, indem Sie das Dienstprogramm wsimport verwenden, das mit dem JDK geliefert wird.
siehe diesen Link Web Service Client mit wsdl erstellen
Ich würde nicht empfehlen, das Eclipse-Tool zur Erstellung des WS-Clients zu verwenden, da ich damit schlechte Erfahrungen gemacht habe:
Ich bin mir nicht sicher, ob das eine Rolle spielt, aber ich musste einen in .NET geschriebenen WS verwenden. Als ich das Eclipse's "New Web Service Client" Tool verwendete, generierte es die Java-Klassen mit Axis (Version 1.x), das, wie Sie sehen können, alt ist (letzte Version von 2006). Es gibt zwar eine neuere Version, die einige wichtige Änderungen enthält, aber Eclipse verwendet sie nicht.
Warum ist die alte Version von Axis wichtig, werden Sie sagen? Weil man bei der Verwendung von OpenJDK auf einige Probleme stoßen kann, wie z.B. fehlende Kryptographie-Algorithmen in OpenJDK, die im Oracle's JDK enthalten sind und von denen einige Bibliotheken wie diese hier abhängen.
Also habe ich einfach das wsimport Tool benutzt und meine Kopfschmerzen beendet.
Das Eclipse-Team der Open University hat das folgende Dokument erstellt, das die Erstellung von Proxy-Klassen mit Tests beinhaltet. Es könnte das sein, wonach Sie suchen.
http://www.eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf
Alles ist in der Vorlage Dynamic Web Project enthalten.
Erstellen Sie in dem Projekt einen Web Service Client. Dadurch wird ein Assistent gestartet, der Sie auf eine WSDL-URL verweist und den Client mit Tests für Sie erstellt.
Das Benutzerhandbuch (das allerdings auf Indigo ausgerichtet ist) für diese Aufgabe finden Sie unter http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.jst.ws.cxf.doc.user%2Ftasks%2Fcreate_client.html.