JAX-WS ist eine Java™ EE-Technologie, mit der die Geschwindigkeit der SOAP-Servicekommunikation und des SOAP-Servicezugriffs verbessert werden kann. Mit EGL können Sie SOAP-Services und -Serviceanforderer generieren, die entweder JAX-WS oder die Vorgängertechnologie JAX-RPC (Java API for XML-based RPC) verwenden. Die gegenwärtige Absicht besteht darin, dass zukünftige Verbesserungen der EGL-SOAP-Service-Unterstützung auf JAX-WS basieren sollen.
Auf JAX-WS basierende Services und Serviceanforderungen können mit anderer Logik interagieren, die auf JAX-RPC basiert. Laufzeitkompatibilität wird sichergestellt. Bezüglich EGL bietet JAX-WS den zusätzlichen Vorteil, dass ein Service nur einmal generiert werden muss, auch wenn Sie den Code anschließend als SOAP-Service für mehrere Zielprojekte implementieren.
Ein JSF-Handler wird beispielsweise immer für das Webprojekt generiert, das auch den Quellcode enthält. Der JSF-Handler kann für den Zugriff auf die Gruppe der aufgerufenen SOAP-Services entweder JAX-WS oder JAX-RPC verwenden, muss dann aber für alle SOAP-Services bei dieser Technologie bleiben.
Auf einen bereits erwähnten Punkt sollte nochmals hingewiesen werden: Obwohl die Java EE-Technologie für den Zugriff auf oder die Implementierung von Services für die gesamte Logik in einem Zielprojekt dieselbe sein muss, kann jeder ferne SOAP-Service, auf den zugegriffen wird, mit einer der beiden Technologien implementiert werden. Laufzeitkompatibilität wird sichergestellt.
Wenn Sie Code konvertieren möchten, der mit einer EGL-Version vor Version 8.0.1.1 geschrieben wurde, um den Code mit JAX-WS ausführen zu können, müssen Sie den Schnittstellenabschnitt, die Datensatzabschnitte oder die Serviceskeletons neu erstellen, die in diesem Code verwendet werden.
Ob ein Zielprojekt für JAX-WS oder JAX-RPC konfiguriert ist, wird über ein Kontrollkästchen auf der Registerkarte Übersicht im Editor für den Implementierungsdeskriptor festgelegt. Eine Variation dieser Regel gilt für Serviceanforderungen, die @WebBinding verwenden. Dies ist eine Eigenschaft, mit der Sie Servicezugriffsdetails direkt in der Codelogik, d. h. in der Deklaration der Servicezugriffsvariablen, angeben können. Im letzteren Fall ist der bestimmte Faktor für die Konfiguration der Serviceanforderung der Wert des Kontrollkästchens im Implementierungsdeskriptor, der von dem zur Generierung des Anforderers verwendeten Builddeskriptor referenziert wird.