Web-Service-Engines anderer Anbieter verwenden

In bestimmten Situationen kann es erforderlich sein, eine JAX-WS-Web-Service-Engine eines anderen Anbieters einzurichten. Beispielsweise muss eine JAX-WS-Web-Service-Engine eines anderen Anbieters konfiguriert werden, wenn Anwendungen implementiert werden sollen, die für verschiedene Anwendungsserver wie WebSphere Application Server, JBoss und WebLogic nur eine einzelne Laufzeit verwenden oder wenn JAX-WS-Web-Service-Anwendungen mit JAX-WS-Laufzeiten anderer Anbieter wie CXF, Axis2 und Metro erstellt werden sollen.

Vorbereitende Schritte

Für die Verwendung einer JAX-WS-Laufzeit eines anderen Anbieters gelten bestimmte Einschränkungen. Außerdem sind bestimmte Konfigurationsänderungen obligatorisch und in einigen Fällen ist eine manuelle Intervention erforderlich, um Probleme zu lösen, die während der Implementierung und während der Ausführung der Anwendung auftreten. Diese Einschränkungen und Probleme sind je nach JAX-WS-Laufzeit, die Sie verwenden, verschieden. Sie sollten wissen, welche Einschränkungen bezüglich der JAX-WS-Laufzeit anderer Anbieter bestehen, bevor Sie Ihr System für die Verwendung dieser Implementierung konfigurieren.

Folgende Einschränkungen bestehen unabhängig davon, welche Art von JAX-WS-Implementierung anderer Anbieter Sie verwenden:
  • Die Laufzeit von WebSphere Application Server schränkt die Verwendung von Anwendungsmodulen, die sowohl die mit WebSphere Application Server bereitgestellte JAX-WS-Implementierung als auch eine externe JAX-WS-Implementierung verwenden, in derselben Anwendungs-EAR-Datei ein. Sie müssen in einer einzelnen Anwendungs-EAR-Datei entweder die mit WebSphere Application Server bereitgestellte JAX-WS-Implementierung oder die externe Implementierung verwenden. Durch diese Einschränkung wird sichergestellt, dass die Laufzeit von WebSphere Application Server nicht in Konflikt steht mit der externen JAX-WS-Implementierung eines anderen Anbieters.
  • Sie müssen JAR-Dateien, die miteinander in Konflikt stehen, aus der Anwendungsbibliothek entfernen müssen, bevor Sie eine Anwendung einsetzen, die eine externe JAX-WS-Implementierung verwendet. Die meisten externen JAX-WS-Laufzeiten anderer Anbieter umfassen einige JAR-Dateibibliotheken, die bereits in WebSphere Application Server installiert sind. Diese Situation verursacht in Ihrer Anwendungsbibliothek Konflikte.
  • Nachdem eine Anwendung, die eine JAX-WS-Laufzeit eines anderen Anbieters verwendet, in WebSphere Application Server implementiert wurde, wird sie nicht als Service-Client oder -Provider erkannt. Aus diesem Grund können die Richtliniensätze auf Anwendungsebene diesen Anwendungen nicht zugeordnet werden. Sie sind auf die Servicequalitätsunterstützung externer Laufzeiten angewiesen. Nachfolgend ist eine Liste der Features von WebSphere Application Server aufgeführt, die nicht verfügbar sind, falls Sie eine Anwendung implementieren und ausführen, die JAX-WS-Implementierungen anderer Anbieter verwendet.
    • Richtliniensätze von WS-Security, WS-RM und WS-Transactions
    • WSDM
    • JNDI-Suche zum Abrufen eines JAX-WS-Service oder einer Portinstanz.
Fehler vermeiden Fehler vermeiden: Obwohl IBM die Ausführung von JAX-WS-Laufzeiten unter WebSphere Application Server unterstützt und die erfolgreiche Implementierung von Anwendungen, die diese Lauzeiten verwenden, sicherstellt, bietet IBM keine Unterstützung für die Lösung von Problemen im Zusammenhang mit JAR-Dateikonflikten oder anderen Problemen, die ein Stack-Trace als im Code eines anderen Anbieters befindlich erkennt.gotcha

Informationen zu diesem Vorgang

Wenn Sie eine Anwendungs-EAR-Datei mit einer JAX-WS-Implementierung eines anderen Anbieters in WebSphere Application Server implementieren, muss die Laufzeit von WebSphere Application Server die Verwendung der Engine des anderen Anbieters sicherstellen und die Verwendung der vorhandenen JAX-WS-Web-Service-Engine von WebSphere Application Server inaktivieren.

WebSphere Application Server beansprucht zwar keine Unterstützung für eine JAX-WS-Laufzeit eines anderen Anbieters, aber die Implementierung und Ausführung von Anwendungen, die solche Laufzeiten verwenden, wurden getestet.

Sie müssen die folgenden Schritte ausführen, bevor Sie eine externe JAX-WS-Laufzeit in einer Anwendung verwenden können.

Vorgehensweise

  1. Legen Sie als Richtlinie des Klassenladers auf der Modulebene Mit dem lokalen Klassenlader geladene Klassen zuerst (übergeordneter zuletzt) fest.

    Indem Sie die Richtlinie des Klassenladers in dieser Weise in "übergeordneter zuletzt" ändern, wird sichergestellt, dass die externe JAX-WS-Laufzeit eines anderen Anbieters und ihre abhängigen Bibliotheks-JAR-Dateien zuerst im Suchpfad des Klassenladers erscheinen und dadurch gewährleisten, dass die Implementierung des anderen Anbieters anstelle von WebSphere Application Server verwendet wird.

    1. Klicken Sie in der Administrationskonsole auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > Anwendungsname> Module verwalten>Name_des_Webmoduls.
    2. Wählen Sie aus der Dropdown-Liste den Eintrag Mit dem lokalen Klassenlader zuerst (übergordneter zuletzt) aus.
    3. Klicken Sie auf OK und anschließend auf Speichern, um Ihre Änderungen zu speichern.
    1. Klicken Sie auf OK und anschließend auf Speichern, um Ihre Änderungen zu speichern.
  2. Inaktivieren Sie das Durchsuchen nach Web-Service-Annotationen.

    Das Durchsuchen nach Annotationen kann auf Anwendungsebene oder auf Serverebene inaktiviert werden.

    Möchten Sie das Durchsuchen nach Annotationen auf Anwendungsebene inaktivieren, müssen Sie die Eigenschaft DisableIBMJAXWSEngine im META-INF/MANIFEST.MF einer WAR-Datei oder eines EJB-Moduls auf "true" setzen. Beispiel:
    Manifest-Version: 1.0
    DisableIBMJAXWSEngine: true

    Gehen Sie wie folgt vor, um das Durchsuchen nach Annotationen auf Serverebene zu inaktivieren:

    1. Rufen Sie in der Administrationskonsole die Seite mit den angepasste Eigenschaften für die Java Virtual Machine auf:

      [z/OS]Klicken Sie auf Server > Servertypen > WebSphere-Anwendungsserver > Servername und anschließend im Abschnitt "Serverinfrastruktur" auf Java- und Prozessverwaltung > Prozessdefinition > Steuerung > Java Virtual Machine > Angepasste Eigenschaften.

      [AIX Solaris HP-UX Linux Windows][IBM i]Klicken Sie auf Server > Servertypen > WebSphere-Anwendungsserver > Servername und anschließend unter "Serverinfrastruktur" auf Java- und Prozessverwaltung > Prozessdefinition > Java Virtual Machine > Angepasste Eigenschaften.

    2. Setzen Sie die Eigenschaft com.ibm.websphere.webservices.DisableIBMJAXWSEngine auf true

      Wenn diese Eigenschaft für Ihre Konfiguration noch nicht angegeben ist, klicken Sie auf Neu, und fügen Sie die Eigenschaft com.ibm.websphere.webservices.DisableIBMJAXWSEngine im Feld Name und true im Feld Wert hinzu.

Ergebnisse

Nächste Schritte

  • Implementieren Sie eine Anwendungs-EAR-Datei mit einer JAX-WS-Implementierung eines anderen Anbieters unter WebSphere Application Server, und führen Sie sie aus.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_thirdparty
Dateiname:twbs_thirdparty.html