Sie können eine JMS-Transportrichtlinienkonfiguration (Java™ Message Service) definieren, wenn Sie
SOAP over JMS für Ihre JAX-WS-Anwendungen (Java API
for XML-Based Web Services) verwenden.
Vorbereitende Schritte
Sie können einige Einstellungen für Richtlinien für angepasste Richtliniensätze konfigurieren.
Die bereitgestellten
Richtliniensätze können nicht bearbeitet werden. Sie müssen eine Kopie
des Standardrichtliniensatzes oder einen neuen Richtliniensatz erstellen, um Richtlinien für ihn anzugeben.
Informationen zu diesem Vorgang
Wenn Sie den SOAP-over-JMS-Transport für JAX-WS-Anwendungen verwenden,
können Sie den Transport durch Konfiguration der JMS-Transportrichtlinie anpassen.
Der SOAP-over-JMS-Transport ist eine Alternative zu HTTPS für den Transport von
SOAP-Anforderungs- und -Antwortnachrichten zwischen Clients und Servern.
Weitere Informationen zu diesem Transportprotokoll finden Sie in der Dokumentation
zur Verwendung von SOAP over JMS für den Transport von Web-Services.
Sie können
eine Richtlinie nur über einen Richtliniensatz konfigurieren. Deshalb muss ein Richtliniensatz vorhanden sein,
der die JMS-Transportrichtlinie enthält, bevor Sie die JMS-Transportrichtlinie konfigurieren können. Zum Anpassen
eines Richtliniensatzes, der die JMS-Transportrichtlinie enthält, müssen Sie zuerst
einen Richtliniensatz erstellen und anschließend die JMS-Transportrichtlinie dem neuen Richtliniensatz
hinzufügen.
Verwenden Sie die Anzeigen mit den Einstellungen für die JMS-Transportrichtlinie, um die Werte
für die Eigenschaften der JMS-Transportrichtlinie anzupassen, wie z. B. das Anforderungszeitlimit.
Ihre angepassten Werte für die JMS-Transportrichtlinie gelten jetzt für Ihren Richtliniensatz, der diese
JMS-Transportrichtlinie enthält. Sie können diesen Richtliniensatz, der die angepasste
JMS-Transportrichtlinie enthält, Ihrer JAX-WS-Anwendung, ihren Services, Endpunkten oder Operationen zuordnen.
Diese Änderung wirkt sich auf alle JAX-WS-Anwendungen aus, denen dieser Richtliniensatz zugeordnet ist.
Weitere Informationen zum Zuordnen von Richtliniensätzen zu Anwendungen finden Sie in der Dokumentation
zur Verwaltung von Richtliniensätzen für Service-Provider und Service-Clients auf Anwendungsebene.
Vorgehensweise
- Erstellen Sie einen Richtliniensatz, der die JMS-Transportrichtlinie enthält.
- Erstellen Sie einen angepassten Richtliniensatz. Klicken Sie in der Administrationskonsole
auf . In dieser
Anzeige können Sie einen neuen Richtliniensatz erstellen, eine Kopie eines Richtliniensatzes aus dem Standardrepository importieren
oder einen vorhandenen Richtliniensatz von der angegebenen Position importieren.
- Fügen Sie die JMS-Transportrichtlinie dem Richtliniensatz hinzu. Klicken Sie in der Administrationskonsole auf . Klicken Sie in der Sammlung der Richtlinien auf .
Es erscheint das Fenster "JMS-Transport", in dem
Optionen für die Konfiguration
der JMS-Einstellungen für die Transportrichtlinie angezeigt werden.
- Geben Sie die JMS-Verbindungseigenschaften für die JMS-Transportanforderungen an. Über die folgenden
Felder konfigurieren Sie die JMS-Features für diesen Transport:
- Zeitlimit für Anforderung
- Gibt an, ob ein Anforderungszeitlimit aktiviert werden soll. Das Anforderungszeitlimit
gibt an, wie lange der Client auf eine Antwort wartet, nachdem er die Anforderung an den Server gesendet hat.
Der gültige Wertebereich ist 0 bis 2147483647.
- Transaktionsorientiertes Messaging für unidirektionale und asynchrone Operationen zulassen
- Gibt an, ob ein Client für die Verwendung von Transaktionen in undirektionalen oder asynchronen
bidirektionalen Anforderungen aktiviert werden soll.
Wählen Sie dieses Kontrollkästchen aus, um transaktionsorientiertes Messaging zu aktivieren.
- Wenn diese Option ausgewählt ist, tauscht die Clientlaufzeitumgebung
SOAP-Anforderungs- und -Antwortnachrichten mit dem Server über den
JMS-Transport transaktionsorientiert aus, wenn der Client unter einer Transaktion ausgeführt wird.
Dieser Prozess zeigt an, dass die Clienttransaktion verwendet wird, um die SOAP-Anforderungsnachricht
an die Zielwarteschlange bzw. das Zieltopic zu senden, und dass der Server
die Anforderungsnachricht erst empfängt, wenn der Client die Transaktion festschreibt.
Der Server empfängt die Anforderungsnachricht unter der Steuerung einer containergesteuerten Transaktion und sendet
die Antwortnachricht, sofern gültig, in derselben Transaktion an den Client zurück.
Der Client empfängt die Antwortnachricht erst, nachdem die Servertransaktion festgeschrieben wurde.
- Wenn diese Option nicht ausgewählt ist, führen die Laufzeitumgebungen von Client und Server
nicht transaktionsorientierte Messaging-Operationen aus, da Transaktionen für die JMS-Anforderung vorübergehend
ausgesetzt werden. Die Transaktionen werden nach Abschluss der Anforderung wieder aktiviert.
Unterstützte Konfigurationen: Transaktionsorientiert Messaging-Operationen werden für bidirektionale
synchrone Operationen nicht unterstützt, da diese zu Deadlock-Bedingungen führen würden.
sptcfg
- Passen Sie die Providerbindungen für den JMS-Transport an.
- Navigieren Sie zu den Providerbindungen für den JMS-Transport. Klicken Sie in der
Administrationskonsole auf .
Im Fenster mit den Providerbindungen für den JMS-Transport
werden Optionen für die Definition der Basisauthentifizierung für asynchrone
Serviceantworten und die Definition angepasster Eigenschaften für die Providerbindungskonfiguration für den JMS-Transport
angezeigt.
- Geben Sie die Eigenschaften für die Basisauthentifizierung für asynchrone Serviceantworten an.
Sie können die Providerrichtlinienbindungen für den JMS-Transport verwenden, um einen Service zu konfigurieren,
der den JMS-Transport verwendet, um asynchrone Antwortnachrichten an den Client zurückzusenden.
Die Laufzeitumgebung des Anwendungsservers verwendet den Benutzernamen und das Kennwort, die Sie bei der Verbindungsherstellung
zum JMS-Messaging-Provider konfigurieren. Diese Konfiguration ermöglicht dem Service, eine
asynchrone Nachricht sicher an den Client zu senden.
Die folgenden Felder definieren
die Authentifizierungsanforderungen für Antworten des Servers:
- Benutzername
- Gibt den Benutzernamen für die asynchronen Serviceantworten für den Service-Provider an.
- Kennwort
- Gibt einen Platzhalter für das Kennwort für die asynchronen Serviceantworten des Service-Providers an.
In diesem Feld können Sie das Kennwort eingeben oder bearbeiten. Das tatsächliche Kennwort wird ausgeblendet.
- Kennwort bestätigen
- Gibt einen Platzhalter für das Kennwort für die asynchronen Serviceantworten des Service-Providers an,
das dem Kennwort im Feld Kennwort entsprechen muss.
Das tatsächliche Kennwort wird ausgeblendet.
- Passen Sie die Clientbindungen für den JMS-Transport an.
- Navigieren Sie zu den Clientbindungen für den JMS-Transport. Klicken Sie in der Administrationskonsole auf .
Im Fenster mit den Providerbindungen für den JMS-Transport
werden Optionen für die Definition der Basisauthentifizierung für abgehende Serviceanforderungen und die
Definition angepasster Eigenschaften für die JMS-Clientbindungskonfiguration angezeigt.
- Geben Sie die Eigenschaften für die Basisauthentifizierung für abgehende Serviceanforderungen an.
Sie können die Clientrichtlinienbindungen für den JMS-Transport verwenden, um einen Client zu konfigurieren,
der den JMS-Transport verwendet, um eine Anforderungsnachricht an den Server zu senden.
Die Clientlaufzeitumgebung verwendet den Benutzernamen und das Kennwort, die Sie bei der Verbindungsherstellung zum
JMS-Messaging-Provider konfigurieren.
Diese Konfiguration ermöglicht dem Client, die Anforderungsnachricht sicher an den Server zu senden.
Die folgenden Felder definieren
die Authentifizierungsanforderungen für Anforderungen, die an den Server gesendet werden:
- Benutzername
- Gibt den Benutzernamen an, der von der Clientumgebung verwendet wird, wenn sie eine Verbindung zum
JMS-Messaging-Provider herstellt, um eine abgehende Anforderung an die Zielwarteschlange bzw. das Zieltopic
zu senden.
Geben Sie in diesem Feld einen Benutzernamen ein.
- Kennwort
- Gibt einen Platzhalter für das Kennwort an, das von der Clientumgebung verwendet wird, wenn sie eine Verbindung zum
JMS-Messaging-Provider herstellt, um eine abgehende Anforderung an die Zielwarteschlange bzw. das Zieltopic
zu senden.
In diesem Feld können Sie das Kennwort eingeben oder bearbeiten. Das tatsächliche Kennwort wird ausgeblendet.
- Kennwort bestätigen
- Gibt einen Platzhalter für das Kennwort an, das von der Clientumgebung verwendet wird, wenn sie eine Verbindung zum
JMS-Messaging-Provider herstellt, um eine abgehende Anforderung an die Zielwarteschlange bzw. das Zieltopic
zu senden.
Geben Sie in diesem Feld das Kennwort erneut ein. Dieses Kennwort muss mit dem im Feld
Kennwort übereinstimmen. Das tatsächliche Kennwort wird ausgeblendet.
- Setzen Sie die angepasste JVM-Eigenschaft
"com.ibm.ws.websvcs.transport.jms.enableBasicAuthOnResponse" auf
true.
Informationen
dazu, wie Sie diese Eigenschaft festlegen,
finden Sie unter
Angepasste JVM-Eigenschaften.
- Speichern Sie Ihre Änderungen.
Ergebnisse
Nachdem Sie die JMS-Transportrichtlinie angepasst haben, verwendet der zugeordnete Richtliniensatz
diese Richtlinie, um das Laufzeitverhalten des SOAP-over-JMS-Transports zu konfigurieren.
Beispiel
Sie können Richtliniensätze einer Anwendung, ihren Services, Endpunkten oder Operationen zuordnen.
Angenommen, Sie haben in diesem Beispielszenario zwei verschiedene JAX-WS-Service-Clients für Ihre Anwendung, möchten aber
für jeden Service-Client unterschiedliche Anforderungszeitlimitwerte für den JMS-Transport verwenden.
Zum Ändern der JMS-Zeitlimitwerte können Sie die Werte der JMS-Transportrichtlinie
bearbeiten, die in dem Richtliniensatz enthalten ist, der Ihrer Anwendung bzw. in diesem Fall Ihrem Service-Client
zugeordnet ist. Diese Änderung wirkt sich auf alle Anwendungen aus, denen der Richtliniensatz, der die angepasste
JMS-Transportrichtlinie enthält, zugeordnet ist.
Dieses Beispiel beschreibt die Schritte zum Konfigurieren
unterschiedlicher Anforderungszeitlimitwerte für die Service-Clients, die in demselben
Anwendungsserver implementiert sind. In diesem Beispiel wird Folgendes vorausgesetzt:
- Es sind zwei JAX-WS-Service-Clients vorhanden, ServiceClient1 und ServiceClient2, die im Anwendungsserver implementiert
sind.
- Die JMS-Transportrichtlinie wurde diesen Anwendungen noch nicht zugeordnet.
- Erstellen Sie zwei neue Richtliniensätze, und fügen Sie ihnen die JMS-Transportrichtlinie hinzu.
Beispiel: JMSServiceClient1Policy und JMSServiceClient2Policy
- Klicken Sie auf .
- Geben Sie den Namen des neuen Anwendungsrichtliniensatzes ein, JMSServiceClient1Policy.
- Klicken Sie in der Richtliniensammlung auf
.
- Klicken Sie auf und , um Ihre Änderungen in der Masterkonfiguration zu speichern.
- Wiederholen Sie diese Schritte, um den Richtliniensatz "JMSServiceClient2Policy" zu erstellen.
- Passen Sie die Einstellungen für die JMS-Transportrichtlinie für die neu erstellten
Richtliniensätze "JMSServiceClient1Policy" und "JMSServiceClient2Policy" an. Setzen
Sie den Anforderungszeitlimitwert für die JMS-Transportrichtlinie, die im Richtliniensatz
"JMSServiceClient1Policy" enthalten ist, beispielsweise auf
180 Sekunden. Die im Richtliniensatz "JMSServiceClient2Policy"
enthaltene JMS-Transportrichtlinie legt 300 Sekunden als Anforderungszeitlimit fest.
- Klicken Sie auf .
- Klicken Sie in der Richtliniensammlung auf .
- Legen Sie in der Konfigurationsanzeige für die JMS-Transportrichtlinie
180 Sekunden als Anforderungszeitlimitwert fest.
- Klicken Sie auf und , um Ihre Änderungen in der Masterkonfiguration zu speichern.
- Klicken Sie auf .
- Klicken Sie in der Richtliniensammlung auf .
- Legen Sie in der Konfigurationsanzeige für die JMS-Transportrichtlinie
300 Sekunden als Anforderungszeitlimitwert fest.
- Klicken Sie auf und , um Ihre Änderungen in der Masterkonfiguration zu speichern.
- Ordnen Sie die angepasste JMS-Transportrichtlinie "JMSServiceClient1Policy" der Anwendung "ServiceClient1" zu.
Ordnen Sie die angepasste JMS-Transportrichtlinie "JMSServiceClient2Policy" der Anwendung "ServiceClient2" zu.
- Klicken Sie auf ServiceClient1.
- Wählen Sie in der Sammlung mit den Richtliniensatzzuordnungen den Service ServiceClient1 aus.
- Klicken Sie auf und anschließend auf
JMSServiceClient1Policy.
- Klicken Sie auf , um Ihre Änderungen in der Masterkonfiguration
zu speichern.
- Klicken Sie auf ServiceClient2.
- Wählen Sie in der Sammlung mit den Richtliniensatzzuordnungen den Service ServiceClient1 aus.
- Klicken Sie auf und anschließend auf
JMSServiceClient2Policy.
- Klicken Sie auf , um Ihre Änderungen in der Masterkonfiguration
zu speichern.
Der Anwendung "ServiceClient1" ist jetzt die Richtlinie "JMSServiceClient1Policy"
zugeordnet, und die JMS-Sitzungen verwenden ein Anforderungszeitlimit von 180 Sekunden.
Der Anwendung "ServiceClient2" ist die Richtlinie "JMSServiceClient2Policy" zugeordnet, und die JMS-Sitzungen verwenden
ein Anforderungszeitlimit von 300 Sekunden.
Nächste Schritte
Sie können bei Bedarf weitere Richtlinien für Ihre Anwendung anpassen.