SOAP

Status
Nicht offen für weitere Antworten.

maxxi

Bekanntes Mitglied
hello,

bietet die SDK irgendwelche Möglichkeiten, mit SOAP zu arbeiten?
Ich versuche einen total simplen SOAP-Client zu programmieren.
Bietet da die SDK schon etwas an oder muss man unbedingt ein Paket zusätzlich installieren. Ich lese nämlich immer und überall nur etwas über AXIS.
 

maxxi

Bekanntes Mitglied
Ach übrigens: was hat es mit "Apache SOAP" auf sich? Habe schon 2 oder 3 Seiten gefunden, wo es angeführt war und es auch einen Link gab, allerdings führen diese Links immer ins Nirvana. Gibt es dieses "Apache SOAP" nicht mehr?
 

maxxi

Bekanntes Mitglied
Auf der ersten Seite (erster Treffer von google) war ich schon ein paar mal. Aber dort landet man im Grunde genommen auch wieder nur bei Axis.

Wie schauts denn nun mit der SDK aus? Bietet die schon irgendwie SOAP an?
 
J

JohannisderKaeufer

Gast
Ich geh mal davon aus, das du auf einen gegebenen Webservice, der durch eine WSDL-Datei, auf die du zugreifen kannst, beschrieben ist, zugreifen möchtest.

Hierfür bietet das Java SDK von Sun etwas, nämlich die Programme wsimport und wsgen.

Damit kann man sich aus einer WSDL Klassen generieren um auf den Webservice zuzugreifen.

Das ganze läuft, wenn ich mich nicht ganz irre unter dem Namen Jax-WS, bzw.JaxB und sollte im Java6 SDK zur verfügung stehen.

Axis2 ist eine "konkurenz"-Implementierung von Apache, die das Selbe versucht.

Und wenn ich gerade dabei bin.

Soap ist nichts anderes als ein XML Format.

[XML]<?xml version="1.0"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
</s:Header>
<s:Body>
</s:Body>
</s:Envelope>
[/XML]
 
Zuletzt bearbeitet von einem Moderator:

maxxi

Bekanntes Mitglied
Ich kenne SOAP. Natürlich habe ich mir auch schon einen kleinen SOAP-Server programmiert (in PHP) :)

Aber wie der Client in Java ausschauen muss, weiß ich nicht. Will vorerst nur was gaaaaanz einfaches programmieren. Also noch ohne WSDL. Wie heißen denn diese SOAP-Klassen, die es im Java6-SDK gibt? Wenn ich die Klassen kenne, kann ich mir den Rest auch aus dem Internet suchen.

Ich glaube, ich habe was gefunden:
java.net Forums : How do I populate SOAP body with JAXB ...
Muss ich mir dann morgen in aller Ruhe durchlesen.
 
Zuletzt bearbeitet:
J

JohannisderKaeufer

Gast
Wenn es gaaaaaaaaaaaanz einfach sein soll, dann fang mit einer WSDL an!
Das mein ich gaaaaaaaaaaaaaaanz ernst.

Java hat ein paar tools Dabei (wsimport), die dir anhand einer WSDL-Datei Klassen generieren mit denen du auf deinen Webservice zugreifen kannst.

Bei Webservicen etc. kommt es nicht nur darauf an eine korrekte Soapnachricht zu erstellen, sondern diese auch an den richtigen Empfänger in der Richtigen Art und Weise zu verschicken.

Um SOAP Nachrichten zu erstellen brauchst du nur XML. Da gibt es in Java im SDK zum einen eine Dom Implementierung und zum anderen ein StaX. Das reicht vollkommen für SOAP.

Einfacher ist es unter umständen ein Marshalling mit JaxB zu machen. Das heißt allerdings erstmal POJO's schreiben. Gut wsimport hätte einem das generiert.

Was rauskommt ist allerdings nur ein SOAP konformes XML-Dokument. Nun kann man sich überlegen wie man das ganze verschickt und vorallem wohin.
Und du wirst es kaum glauben, wsimport hätte einem das generiert. Und will man es doch partout per Hand machen, so kann man sich sowas erstmals als kleine Inspiration reinziehen, wie das automatisch gemacht wird, welche Artefakte generiert werden müssen und welche Klassen verwendet werden müssen.

Im SDK ist jedenfals alles dabei.

Gute Nacht.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben