Wenn eine Web-Service-Anwendung in WebSphere Application Server implementiert
wird, wird für jede Anwendung bzw. jedes Modul eine Instanz erstellt. Die
Instanz enthält Implementierungsinformationen für das Webmodul oder das EJB-Modul,
einschließlich des Geltungsbereichs der Implementierung, der Clientbindungen und
der
Implementierungsdeskriptorinformationen. Es gibt drei Ebenen für Geltungsbereiche, die
festgelegt werden können: Anwendung,
Sitzung und Anforderung.
Vorbereitende Schritte
Wenn Sie die EAR-Datei noch nicht implementiert haben, müssen Sie
sie bereithalten oder im Anwendungsserver implementieren.
Informationen zu diesem Vorgang
Der primäre Zwecke dieser Task ist die Konfiguration eines Geltungsbereichs für den
Web-Service-Port. Der Geltungsbereich, der während der Entwicklung beim Aktivieren des JavaBeans-Objekts
als Web-Service angegeben wird, kann mit dem Befehl
WebServicesServerBindPort geändert werden.
Das Attribut für den Geltungsbereich gilt nicht für
Web-Services, die den JMS-Transport (Java Message Service) verwenden, und nicht für
Enterprise-Beans.
Web Services für Java 2 Enterprise Edition (J2EE) gibt an, dass
Web-Service-Implementierungen statusunabhängig sein müssen. Daher konnte der
Geltungsbereich, um der Spezifikation zu entsprechen, auf die Anwendungsebene beschränkt
bleiben, da der Status der einzelnen Sitzung oder Anforderung nicht in der
Implementierung verwaltet werden soll. Wenn Sie von der Spezifikation abweichen
und auf eine andere JavaBean-Instanz zugreifen möchten, weil Sie Informationen
suchen, die sich in einer anderen JavaBean-Instanz befinden, müssen die Einstellungen des
Geltungsbereichs geändert werden.
Der Geltungsbereich bestimmt, wie häufig die neue
Instanz einer Serviceimplementierungsklasse für die Web-Service-Ports in einem Modul
erstellt wird. Ist der Geltungsbereich "Anwendung" definiert, wird dieselbe
Implementierungsinstanz für alle Anforderungen an die Anwendung verwendet. Ist der
Geltungsbereich "Sitzung" definiert, wird dieselbe Instanz für alle Anforderungen in
einer Sitzung verwendet. Wenn der Geltungsbereich "Anforderung" definiert ist, wird für
jede Anforderung eine neue Instanz verwendet. Wenn Sie den Geltungsbereiche beispielsweise auf "Anwendung" setzen,
greift jede Nachricht, die beim Server eingeht, auf dieselbe Java-Bean-Instanz zu.
Gehen Sie wie folgt vor, um die Einstellung für den Geltungsbereich mit dem Tool
wsadmin zu ändern:
Vorgehensweise
- Starten Sie einen Scripting-Befehl. Weitere Informationen hierzu finden Sie in der Dokumentation zum Starten
des wsadmin-Scripting-Clients.
- Konfigurieren Sie den Geltungsbereich des Web-Service-Ports.
Wenn Sie den vorhandenen Listener-Port verwenden möchten, anstatt eine Aktivierungsspezifikation
zu verwenden oder eine neue zu erstellen, müssen Sie feststellen, ob die EJB-JAR-Version älter ist als Version 2.1. Das System
erstellt und verwendet automatisch eine Aktivierungsspezifikation, wenn Sie die Option
"-usedefaultbindings" zum Implementieren einer Anwendung angeben.
Wenn eine Aktivierungsspezifikation vorhanden ist, ignoriert das System
den Listener-Port und verwendet stattdessen die Aktivierungsspezifikation.
Wenn Sie eine Anwendung mit einer EJB-JAR-Version größer-gleich
2.1 über die definierten Listener-Ports und nicht über eine neue Aktivierungsspezifikation implementieren möchten, müssen
Sie die Systemeigenschaft "com.ibm.websphere.management.application.dfltbndng.mdb.preferexisting" in der Datei wsadmin.properties
im Verzeichnis "properties" des gewünschten Profils auf true setzen.
Verwenden
Sie die Option "install", "installInteractive", "edit" oder "editInteractive", wie im folgenden Beispiel gezeigt,
um den Geltungsbereich
des Web-Service-Ports zu konfigurieren:
$AdminApp install Anwendungsname {-usedefaultbindings -deployejb
-WebServicesServerBindPort {{<Modulname> <Web-Service> <Port><Geltungsbereich>}...}
Das Beispiel
zeigt, dass der Geltungsbereich mehrerer Ports mit nur einem Befehl WebServicesServerBindPort geändert werden kann.
Die Parameter sind im Folgenden erläutert: - Anwendungsname ist der Name der Anwendung, z. B. WebServicesSample.ear.
- Modulname ist der Name des Moduls, z. B. AddressBookW2JE.jar.
- Web_Service ist der Name des Web-Service, z. B. AddressBookW2JE
service/WSLoggerService2.
- Port ist der Name des Port, z. B. AddressBook.
- Einstellung_für_Geltungsbereich ist die die Definitionsebene für den Geltungsbereich, z. B. Session.
Ergebnisse
Damit ist der Geltungsbereich für einen Web-Service-Port konfiguriert.
Beispiel
Das folgende Beispiel zeigt Befehlszeileninformationen mit Angabe der Anwendung, des Moduls, des Web-Service, des Port und des Geltungsbereichs:
$AdminApp install WebServicesSamples.ear {-usedefaultbindings -deployejb -deployws
-WebServicesServerBindPort {{AddressBookJ2WB.war AddressBookService AddressBook request}
{AddressBookW2JB.war AddressBookService AddressBook application}}}
Nächste Schritte
Jetzt könenen Sie alle anderen Konfigurationen abschließen, die Anwendung starten bzw. erneut starten und
überprüfen, ob das Verhalten des Web-Service Ihren Erwartungen entspricht.