Hier sind die gemeinsamen Rahmenbedingungen, alle sind ziemlich ausgereift:
Alle unterstützen SOAP.
Ich habe sowohl CXF als auch Spring-WS verwendet. Beide sind einfach zu konfigurieren und zu verwenden.
Ich würde eine JAX-WS-Implementierung vorschlagen: JAX-WS RI (die Teil von Metro ist) oder Apache CXF . Beide sind der Laufzeitperspektive sehr nahe, aber viele Leute finden, dass CXF eine bessere Dokumentation hat (könnte ein wichtiges Kriterium sein). Beide bieten eine Integration mit Spring, wenn dies für Sie wichtig ist (eigentlich können anständige Frameworks Spring nicht ignorieren, daher ist das keine Überraschung).
Spring-WS ist eine weitere Option, ist aber nicht JAX-WS-kompatibel, unterstützt nur einen Vertrag zuerst Ansatz (von XSD) - das ist eine philosophische Wahl - und unterstützt nicht viele WS-* Standards (die Sie vielleicht nicht brauchen).
In jedem Fall würde ich mich von Axis 2 und seiner fürchterlichen Deployment-Architektur und Verpackungshölle fernhalten (die Axis 2-Webanwendung selbst ist ein Container für Web-Services, die in bestimmte Archive gepackt werden müssen). Ich finde es total kontraproduktiv. Außerdem funktioniert es nicht wirklich . p>
Der Spring-Rahmen wird für diese Art von Anforderung der entscheidende Gewinner sein. Frühling und seine Module einschließlich Frühlingssicherung, Frühling webservices bildet es eine passende für dieses.
Ich stimme der Spring-WS-Option zu. Ich habe es zu verschiedenen Zeiten verwendet und es wird schnell meine Web-Service-Wahl, es sei denn, es gibt andere Faktoren, die es ausdrücklich ausschließen.
Obwohl dies etwas vom Thema abweicht, würde ich in der Planungsphase folgende Empfehlungen geben:
Wählen Sie einen Top-Down-Ansatz. Spring-WS unterstützt dies (es ist die bevorzugte Methode). Auf diese Weise müssen Sie sich keine Gedanken über eine versehentliche Aktualisierung Ihrer WSDL machen, wenn Sie Änderungen am zugrunde liegenden Code vornehmen. Auch zur Entwurfszeit können Sie die WSDL als Schnittstelle betrachten und nicht durch andere Dokumente gehen.
Verwenden Sie JAXB, um Ihre Anfrage- / Antwortobjekte zu generieren. Dies ist auf lange Sicht viel einfacher und hilft auf jeden Fall dabei, sicherzustellen, dass Sie wie von Ihrer WSDL programmiert codieren (einige Male habe ich generierte Objekte betrachtet und festgestellt, dass sie nicht richtig aussehen, nur um herauszufinden, dass ich sie modifiziert habe die WSDL falsch).
Verwenden Sie Anmerkungen in Ihren Endpunkten.
Das sind die Hauptpunkte. Viel Glück: -).
Tags und Links java soap web-services