2016-05-23 7 views
0

Mit SOAP, wie mit REST, kann ich sicher annehmen, dass am Ende alles, was der Client tut, um den Web-Service aufzurufen, XML an eine Endpunkt-URL sendet? Wenn dies der Fall ist, ist es dann erforderlich, ein Tool wie Axis oder wsimport zu verwenden, um die Client-Stub-Klassen aus einer WSDL zu generieren?Für SOAP, müssen wir Client-Stubs von WSDL generieren?

Gibt es etwas falsch daran, diesen Schritt zu überspringen und nur das rohe XML selbst zu erstellen und einen HTTP-Post des gesamten SOAP-Umschlags zu erstellen?

Hier ist, was ich in groovy tun möchte.

+1

Ja, es ist in Ordnung, den manuellen Ansatz zu verwenden, es wird jedoch aufgrund von Ausführlichkeit und Fehleranfälligkeit nicht empfohlen. – ACV

Antwort

2

Die Aussage "SOAP, als REST" macht keinen Sinn. REST ist ein architektonischer Stil. SOAP ist ein Web-Services-Protokoll, das nicht den REST-Standards entspricht. Ein SOAP-Service kann über HTTP aufgerufen werden.

Bei Verwendung von SOAP über HTTP können Sie ja ein SOAP aufrufen, indem Sie die SOAP-Nachricht an die richtige Ressource senden. Es gibt ein vernünftiges Beispiel dafür, dies auf der SOAP-Wikipedia-Seite zu tun, auf die unten verlinkt wird. https://en.wikipedia.org/wiki/SOAP#Example_message

Es ist nichts falsch daran, die WSDL-Client-Generatoren zu meiden und Ihren eigenen SOAP-Client zu erstellen. Die Generatoren sind nur dazu da, um dir das zu erleichtern. Die generierten Clients werden für Sie die Verwaltung des HTTP-Clients, der Deserialisierungs-/Serialisierungslogik, der SOAP-Ausnahmebehandlung und der Übersetzung übernehmen. Wenn Sie sich entscheiden, sie nicht zu verwenden, müssen Sie diese Logik selbst schreiben.