# Hilfe zu WSDL



## Busti (7. August 2008)

Hallo Leute,

ich hoffe ich bin damit nun im richtigen Forum gelandet.
Ich möchte/soll an einen Server via WSDL eine Anfrage schicken und sollte dann eine Antwort zurück bekommen.
Ich habe so etwas noch nie gemacht und kenne mich damit auch nicht aus.
Ich habe mich im Internet schonmal versucht etwas in WSDL einzulesen, aber wie ich nun konkret eine Anfrage an einen Server richte weiß ich noch immer nicht.

Könnt ihr mir etwas weiter helfen?
Habt ihr empfehlenswerte Link?

Mal etwas zu meiner Person, damit ihr einschätzen könnt, ob das bei mir überhaupt Sinn macht 
Ich kann C, C++, Java, J2EE, HTML, PHP, JavaScript.

Wäre nett wenn ihr mir etwas auf die Sprünge helfen könntet und ich WSDL verstehen und anwenden kann.

Viele Grüße


----------



## Nico Graichen (7. August 2008)

Hi

WSDL steht für WebService Description Language.
Mit deren Hilfe wird die Schnittstelle eine WebService beschrieben.

Für JAVA findest du u.a. unter 
http://family-hildebrandt.com/eduar...ervice-mit-apache-cxf-wsdl-first-development/
ein Beispiel (inkl. Client)

WebServices lassen sich mit diversen Sprachen ansprechen. Welche du wählst hängt davon ab, welche Programmiersprache du bevorzugst.


----------



## Busti (8. August 2008)

Nico Graichen hat gesagt.:


> Für JAVA findest du u.a. unter
> http://family-hildebrandt.com/eduar...ervice-mit-apache-cxf-wsdl-first-development/
> ein Beispiel (inkl. Client)



Hallo Nico,

danke für die Antwort. Das sollte mir schonmal etwas weiter helfen.
Wie gesagt, ich habe zwar nachgelesen was WSDL ist, aber nicht wie ich es anwende. Das Problem löst sich nun hoffentlich mit dem von dir verlinkten Tutorial.

Viele Grüße


----------



## Busti (8. August 2008)

Ich muss nun nochmal schreiben.

Ich weiß nicht ob ich richtig verstanden wurde. Ich möchte keinen Web Service zur Verfügung stellen, sondern einen bestehenden "ansprechen".
Dieser Web Service wurde nicht von mir entwickelt, aber ich habe die Berechtigung darauf zuzugreifen.

Viele Grüße

Marc


----------



## Cojote (8. August 2008)

Weißt du schon mit welcher dieser Programmiersprachen du den Webservice nutzen möchtest?
Je nachdem existieren verschiedene Werkzeuge die dir aus der WSDL automatisch die verwendeten Datenobjekte und ein Interface+Proxy generieren die du dann innerhalb deines Programms zur Kommunikation mit dem Webservice verwenden kannst.
Grundsätzlich sollte es mit allen von dir beschriebenen Sprachen so funktionieren aber ich persönlich kenne mich nur mit Java aus.

Klar kannst du dir auch die WSDL nehmen und selbst einen Mechanismus schreiben um mit dem Webservice zu kommunizieren, dies ist jedoch viel zu aufwendig und es sind detaillierte Kenntnisse in XML notwendig.


----------



## Busti (8. August 2008)

Cojote hat gesagt.:


> Grundsätzlich sollte es mit allen von dir beschriebenen Sprachen so funktionieren aber ich persönlich kenne mich nur mit Java aus.



Gegen Java habe ich gar nichts, würde das natürlich auch mit Java machen.

Web Service ist gegeben, Username und Passwort bekomme ich.
Habe hier auch Beispieldateien 1X .wsdl 5X .xsd (Dateien sind von der Firma, die mir den Web Service stellt. bzw. welchen Web Service ich ansprechen muss).

Ich glaube ich verstehe das Ganze jedoch nie


----------



## Cojote (8. August 2008)

Die Beispieldateien die du da bekommen hast sind keine Beispieldateien, sie bilden den Vertrag (Contract) des Webservice den du ansprechen willst.
Die .wsdl bildet den operationalen Contract des Webservice. In ihm sind die Methoden definiert die der Webservice dir anbietet und ihre Parameter.
In der .xsd ist der Aufbau der Objekte beschrieben die ausgetauscht sind (also die Parameter und Rückgabetypen der Methoden). Dies sind ja meist keine simplen Basisdatentypen sondern komplexe Objekte die eben hier beschrieben werden.

Jedes gängige Webservice-Framework bietet nun Tools an um aus diesen beiden Dateien Objekte zu generieren mit denen du in deiner Programmiersprache die Webservice-Funktionen so aufrufen kannst als würden diese lokal vorliegen.

Wo genau liegt denn dein Problem? Wenn du versuchst die WSDL zu verstehen, das ist in meinen Augen sinnlos und unnütz.


----------



## Busti (8. August 2008)

Cojote hat gesagt.:


> Wo genau liegt denn dein Problem? Wenn du versuchst die WSDL zu verstehen, das ist in meinen Augen sinnlos und unnütz.



Wie ich den Web Service anspreche...

Danke für deine Mühe!


----------



## Cojote (8. August 2008)

Was noch wichtig wäre: Du schreibst du bekommst noch Benutzernamen und Passwort. Weißt du wie der Webservice geschützt ist? WS-Security?

Wenn du beispielsweise Java benutzt kannst du dir das Webservice-Framework Axis2 runterladen. Dieses unterstützt 4 verschiedene Technologien zur Generierung von Clients. Ich würde JiBx verwenden.

Hier http://ws.apache.org/axis2/1_4/quickstartguide.html#clientjibx ist eine Kurzbeschreibung wie du mit Axis2 alles notwendige generierst.

Wird WS-Security benötigt muss man da nochwas dranprogrammieren, damit auch Benutzernamen und Passwort übermittelt werden.


----------



## Busti (9. August 2008)

Cojote hat gesagt.:


> Hier http://ws.apache.org/axis2/1_4/quickstartguide.html#clientjibx ist eine Kurzbeschreibung wie du mit Axis2 alles notwendige generierst.
> 
> Wird WS-Security benötigt muss man da nochwas dranprogrammieren, damit auch Benutzernamen und Passwort übermittelt werden.



Super, das hilft mir, danke!

WS-Security wird benötigt!

Gruß Busti


----------

