Ich möchte ein Web-Service-Framework, das Open Source und frei für die kommerzielle Nutzung ist, auch die Sicherheit ist ein Hauptanliegen zu. Bitte schlagen Sie ein Web-Service-Framework für Java mit SOAP-Standard vor.
Antworten
Zu viele Anzeigen?Ich würde eine JAX-WS-Implementierung vorschlagen: JAX-WS RI (die Teil der Metro ist) oder Apache CXF . Beide sind aus der Laufzeitperspektive sehr ähnlich, aber viele Leute finden, dass CXF eine bessere Dokumentation hat (könnte ein wichtiges Kriterium sein). Beide bieten eine Integration mit Spring, falls dies für Sie wichtig ist (eigentlich können anständige Frameworks Spring nicht ignorieren, daher ist dies keine Überraschung).
Feder-WS ist eine weitere Option, ist aber nicht JAX-WS-konform, unterstützt nur einen vertragsorientierten Ansatz (von XSD) - das ist eine philosophische Entscheidung - und unterstützt viele WS-*-Standards nicht (die Sie aber vielleicht nicht brauchen).
Auf jeden Fall würde ich mich von Axis 2 und seiner schrecklichen Deployment-Architektur und Paketierungshölle fernhalten (die Axis 2-Webapp selbst ist ein Container für Webdienste, die in speziellen Archiven verpackt werden müssen). Ich finde das völlig kontraproduktiv. Obendrein gibt es nicht einmal wirklich gut abschneiden .
Schauen Sie sich Axis an. Es ist recht einfach und leicht zu bedienen. http://ws.apache.org/axis/
Ich stimme mit der Option Spring-WS überein. Ich habe es zu verschiedenen Zeiten verwendet und es wird schnell meine Wahl für den Webdienst, es sei denn, es gibt andere Faktoren, die es ausdrücklich ausschließen.
Auch wenn dies etwas vom Thema abweicht, würde ich, wenn Sie in der Planungsphase sind, die folgenden Empfehlungen aussprechen.
-
Wählen Sie einen Top-Down-Ansatz. Spring-WS unterstützt dies auf jeden Fall (es ist die bevorzugte Methode). Auf diese Weise müssen Sie bei Änderungen am zugrunde liegenden Code nicht befürchten, dass Sie versehentlich Ihre WSDL aktualisieren. Außerdem können Sie zur Entwurfszeit die WSDL als Schnittstellenpunkt betrachten und müssen sich nicht so oft durch andere umfangreiche Dokumente wühlen.
-
Verwenden Sie JAXB, um Ihre Anfrage/Antwort-Objekte zu erzeugen. Dies ist auf lange Sicht viel einfacher und hilft definitiv dabei, sicherzustellen, dass Sie so kodieren, wie es Ihre WSDL vorschreibt (ich habe mir schon oft die generierten Objekte angesehen und festgestellt, dass sie nicht richtig aussehen, nur um herauszufinden, dass ich die WSDL falsch geändert hatte).
-
Verwenden Sie Anmerkungen in Ihren Endpunkten.
Das sind die wichtigsten Punkte. Viel Glück :-).
- See previous answers
- Weitere Antworten anzeigen