Java Client für Webservice erstellen (WSDL + XSD vorhanden)

Tservarius

Mitglied
Hi und Hallo,

habe eine kurze schnelle Frage: Wie kann ich mir in Java einen Webservice Client erstellen.
Habe derzeit ein WSDL File und 3 XSD Dateien vorliegen.

Bislang kontne ich mittels WSDL2JAVA aus dem WSDL File mir alles generieren lassen. Nun sind leider die Definition der Complex Type Elemente in die XSD Dateien ausgelagert.

Mir ist jetzt nicht so ganz schlüssig, wie ich die Informationen aus dem XSD Dateien in Klassen umwandeln und mit den Methoden des Webservice verknüpfen kann.

Die WSDL Datei selbst erhält bis dato keinerlei Referenzen zu den XSD Dateien, eigentlich müssten dort doch welche vorhanden sein, oder nicht?

Bin etwas ratlos. Danke im Voraus!
 
Sooo.. der erste Schritt hat geklappt. Nachdem ein paar Import Anweisungen im WSDL File gefehlt hatten, konnte ich nun mittels WSDL2JAVA und Axis den Client halbwegs automatisiert erstellen.

Das Problem, welches ich nun habe:
Da es sich um einen .net Webservice handelt, erwarett dieser als Übergabeparameter eine "DataSet".. Java kommt damit ja nicht ganz klar, also hat Axis mir automatisch folgende Klasse erstellt:

Code:
public OrderPartsData(
           org.apache.axis.message.MessageElement [] _any) {
           this._any = _any;
    }

Der Webservice hätte jetzt gerne ein solches Objekt übergeben.
Ich hab leider keine Ahnung, wie ich dieses MessageElement "zusammensetzen" kann. Ferner wurden 2 weitere Klassen auf Basis der vorhandenen XSD Files angelegt, welche jedoch nicht vom Webservice als Parameter erwartet werden.

* OrderPartDataSet (erwartet Objekte vom Typ OrderPartData)
* OrderPartData (ist das eigentliche Modell mit den komplettten Attributen)


Dieses Problem wird auch in diesem Artikel angesprochen:
http://www.oreillynet.com/onjava/blog/2006/08/handling_adonet_datasets_with.html

Hier haben noch andere Leute genau das gleiche Problem, aber alle Artikel die ich finde sind um einiges älter und bringen mich nicht weiter:
http://forum.java.sun.com/thread.jspa?forumID=331&threadID=558648
http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=51&t=001188

Da der Artikel jedoch schon etwas älter ist, gibt es ja evlt. mitterweile einen Best-Practice Ansatz / Workaround etc. für solche Geschichten.

Bin für jede Hilfe dankbar!
 

Neue Beiträge

Zurück