Ping un dEcho -
Konfiguration
|
 |
Die Beispiele "Ping" und "Echo" sind zwei einfache JAX-WS-Web-Services.
Das Beispiel "Ping" demonstriert eine unidirektionale Operation. Ein einfacher Zeichenfolgewert wird an den Service
übergeben. Die Clientoperation wird nach der Herstellung der Verbindung zum Service ausgeführt. Es gibt
zwei Endunkte in diesem Beispiel Der eine Endpunkt verwendet SOAP 1.1 und der andere Endpunkt SOAP
1.2.
Das Beispiel "Echo" demonstriert eine bidirektionale Operation. Ein einfacher Zeichenfolgewert wird an den Service
übergeben. Der Service fügt am Anfang der Zeichenfolge eine Kennung hinzu und
sendet diesen Wert zurück an den Client. Es gibt
zwei Endunkte in diesem Beispiel Der eine Endpunkt verwendet SOAP 1.1 und der andere Endpunkt SOAP
1.2. Das Beispiel "Echo" demonstriert auch das synchrone und das asynchrone Programmiermodell sowie das
synchrone und asynchrone Verbindungsverhalten:
- Synchron: Der Client wartet auf die Serviceantwort.
- Asynchron mit synchroner Kommunikation: Der Serviceclient wartet die Serviceantwort nicht ab. Es wird
eine Callback-Methode bereitgestellt. Wenn der Service antwortet, wird die Callback-Methode aufgerufen,
um die Antwortzeichenfolge zu bearbeiten. Die Kommunikation über das Netz ist jedoch weiterhin synchron.
- Asynchron mit asynchroner Kommunikation: Der Serviceclient
wartet die Serviceantwort nicht ab. Es wird
eine Callback-Methode bereitgestellt. Wenn der Service antwortet, wird die Callback-Methode aufgerufen,
um die Antwortzeichenfolge zu bearbeiten. Der Service stellt über einen anderen Kanal als den,
den der Client für die Kontaktaufnahme mit dem Service verwendet hat, eine Verbindung zum Client her.
Serviceendpunkte des Beispiels
URI |
Beschreibung |
http://localhost:9080/WSSampleSei/PingService
|
Ping-Servicebeispiel mit SOAP 1.1
|
http://localhost:9080/WSSampleSei/PingService12
|
Ping-Servicebeispiel mit SOAP 1.2 |
http://localhost:9080/WSSampleSei/EchoService
|
Echo-Servicebeispiel mit SOAP 1.1 |
http://localhost:9080/WSSampleSei/EchoService12
|
Echo-Servicebeispiel mit SOAP 1.2 |
Port 9080 ist der Standardwert, aber die Portnummer ist anders, wenn Sie den Service in einem anderen Profil
als dem Profil AppSrv01 installieren.
Zur Konfiguration der Beispiele "Ping" und "Echo" implementieren Sie die Anwendung
"JAX-WS Web Services Sample" im Server. Wenn die Beispielanwendung noch nicht implementiert ist,
ziehen Sie die Anweisungen zum zu Rate.
Stellen Sie vor der Ausführung der Clients sicher, dass der Anwendungsserver aktiv ist.
In den Beispielen "Ping" und "Echo" werden zwei Services verwendet: Ping und Echo.
Das Beispiel "Ping"
demonstriert eine unidirektionale Servicetransaktion. Den Quellcode für dieses Beispiel
finden Sie im Verzeichnis "Profilstammverzeichnis/samples/src/JaxWSServicesSamples/SampleClientSei".
Das Beispiel "Echo" demonstriert
eine bidirektionale Servicetransaktion. Den Quellcode für dieses Beispiel
finden Sie im Verzeichnis "Profilstammverzeichnis/samples/src/JaxWSServicesSamples/SampleClientSei".
Führen Sie die folgenden Schritte aus, um die Client-Servlets "Ping" und "Echo" über
WebSphere Application Server auszuführen:
- Starten Sie den Server.
- Klicken Sie auf Ausführen.
Die Thin-Client-Beispiele "Ping" und "Echo" gleichen den Client-Servlets "Ping" und "Echo". Diese
Beispiele greifen auf dieselben Ping- und Echo-Web-Service-Beans zu, verwenden aber eine JAR-Datei, die
Thin Client for JAX-WS mit der JAR-Datei von WebSphere Application Server im Klassenpfad voraussetzen.
Sie finden die Datei "WSSampleClientSei.jar" im Verzeichnis "samples/lib/JaxWSServicesSamples".
Die Thin-Client-Beispiele "Ping" und "Echo" erstellen, basierend auf den angebenen Parametern,
einen JAX-WS-Proxy für die Web-Services "Ping" und "Echo". Der Proxy stellt über die Nachricht eine Verbindung
zum Serviceendpunkt her. Das Beispiel "Echo" wartet auf die Antwort.
In den folgenden Schritten verweist die Variable Stammverzeichnis_des_Anwendungsservers
auf das Installationsstammverzeichnis des Anwendungsservers.
Führen Sie die im Folgenden beschriebenen, für Ihr Betriebssystem gültigen Schritte zum Ausführen
der Thin-Client-Beispiele "Ping" und "Echo" aus:
- Starten Sie den Server.
- Öffnen Sie eine Eingabeaufforderung.
- Wechseln Sie in das Verzeichnis "JaxWSServicesSamples".
Unter Windows-Betriebssystemen:
cd
Stammverzeichnis_des_Anwendungsservers\samples\bin\JaxWSServicesSamples
Unter Betriebssystemen wie AIX, Linux und z/OS:
cd
Stammverzeichnis_des_Anwendungsservers/samples/bin/JaxWSServicesSamples
Unter iSeries-Betriebssystemen:
cd
Stammverzeichnis_des_Anwendungsservers/samples/bin/JaxWSServicesSamples
- Führen Sie die Thin-Client-Beispiele "Ping" und "Echo" aus.
Unter Windows-Betriebssystemen:
runSampleSei.bat -h Hostname -p
Port -f URL-Suffix -m Testnachricht -s
Service -t Zeitlimit -w asyncwire -c
Zähler -1 -2
Unter Betriebssystemen wie AIX, Linux und z/OS:
./runSampleSei.sh -h Hostname -p
Port -f URL-Suffix -m Testnachricht -s
Service -t Zeitlimit -w asyncwire -c
Zähler -1 -2
Unter iSeries-Betriebssystemen:
./runSampleSei -h Hostname -p Port
-f URL-Suffix -m Testnachricht -s Service
-t Zeitlimit -w asyncwire -c Zähler -1
-2
Die Parameter sind im Folgenden beschrieben:
-h <Hostname> ist der Name des Hosts. Der Standardwert ist
localhost.
-p <Port> ist die Portnummer. Der Standardwert ist
9080.
-f <URL-Suffix> ist der Serviceendpunktkontext.
Der Standardwert ist /WSSampleSei/EchoService.
-m <Nachrichtentext> ist der Text der Nachricht.
Der Standardwert ist hello. Wenn die Nachricht Leerzeichen enthält,
setzen Sie die Nachricht in Anführungszeichen.
-c Zähler gibt die Anzahl der auszuführenden Transaktionen an. Der Standardwert ist
"1".
-1 gibt an, dass SOAP 1.1 verwendet werden soll. Der Standardwert ist SOAP 1.1.
-2 gibt an, dass SOAP 1.2 verwendet werden soll.
Das folgende Beispiel veranschaulicht die erfolgreiche Ausführung der Ping- und Echo-Clients unter dem Windows-Betriebssystem:
runSampleSei.bat -p 9081 Aug 8, 2007 7:01:00 PM com.ibm.ws.ssl.config.SSLConfigManager INFO: ssl.disable.url.hostname.verification.CWPKI0027I >> CLIENT: SEI Async to http://localhost:9081/WSSampleSei/EchoService [WAShttpAsyncResponseListener] listening on port 4733 >> CLIENT: SEI Async invocation complete. >> CLIENT: SEI Async response is: JAX-WS==>>HELLO
|
Wenn Sie mehr über die Funktionsweise der Beispielclients und der Anwendung erfahren möchten, sehen Sie sich die
technischen Hinweise zu "Ping" und "Echo" oder den Java-Quellcode an.
Weitere Informationen zu Web-Service-Clients finden Sie in der Dokumentation
zur Entwicklung und Implementierung von Web-Service-Clients in der
Bibliothek mit dem Information Center von WebSphere Application Server.
Richtliniensätze
werden verwendet, um eine Servicequalität wie "ReliableMessaging" oder "SecureConversation" zu aktivieren.
Richtliniensätze, die einer Anwendung zugeordnet sind, definieren die Servicequalität für diese Anwendung. Es wird
ein Scriptsatz bereitgestellt, um die Richtliniensätze für WS-ReliableMessaging (WS-RM),
WS-SecureConversation (WS-SC) und WS-I Reliable Secure Profile (RSP) zu aktivieren. RSP ist
eine Zusammensetzung aus WS-RM und WS-SC. Diese Scripts werden als Beispiele bereitgestellt. Sie
können Richtliniensätze auch über die Administrationskonsole aktivieren. Diese Scripts sind nur
für die Verwendung mit den Beispielanwendungen bestimmt. In der folgenden Tabelle sind die
Beispielscripts für Richtliniensätze beschrieben.
Scripts für das Betriebssystem Windows
Dateiname |
Beschreibung |
enableRMQoS.bat |
Aktiviert WS-ReliableMessaging Version 1.1 |
enableRM1QoS.bat |
Aktiviert WS-ReliableMessaging Version 1.0 |
enableSCQoS.bat |
Aktiviert WS-SecureConversation |
enableRSPQoS.bat |
Aktiviert WS-ReliableMessaging und WS-SecureConversation |
enableWSAQoS.bat |
Aktiviert WS-Addressing |
disableRMQoS.bat |
Inaktiviert WS-ReliableMessaging Version 1.1 |
disableRM1QoS.bat |
Inaktiviert WS-ReliableMessaging Version 1.0 |
disableSCQoS.bat |
Inaktiviert WS-SecureConversation |
disableRSPQoS.bat |
Inaktiviert WS-ReliableMessaging und WS-SecureConversation |
disableWSAQoS.bat |
Inaktiviert WS-Addressing |
Scripts für Betriebssysteme wie AIX, Linux und and /OS
Dateiname |
Beschreibung |
enableRMQoS.sh |
Aktiviert WS-ReliableMessaging Version 1.1 |
enableRM1QoS.sh |
Aktiviert WS-ReliableMessaging Version 1.0 |
enableSCQoS.sh |
Aktiviert WS-SecureConversation |
enableRSPQoS.sh |
Aktiviert WS-ReliableMessaging und WS-SecureConversation |
enableWSAQoS.sh |
Aktiviert WS-Addressing |
disableRMQoS.sh |
Inaktiviert WS-ReliableMessaging Version 1.1 |
disableRM1QoS.sh |
Inaktiviert WS-ReliableMessaging Version 1.0 |
disableSCQoS.sh |
Inaktiviert WS-SecureConversation |
disableRSPQoS.sh |
Inaktiviert WS-ReliableMessaging und WS-SecureConversation |
disableWSAQoS.sh |
Inaktiviert WS-Addressing |
Scripts für das Betriebssystem i5/OS
Dateiname |
Beschreibung |
enableRMQoS |
Aktiviert WS-ReliableMessaging Version 1.1 |
enableRM1QoS |
Aktiviert WS-ReliableMessaging Version 1.0 |
enableSCQoS |
Aktiviert WS-SecureConversation |
enableRSPQoS |
Aktiviert WS-ReliableMessaging und WS-SecureConversation |
enableWSAQoS |
Aktiviert WS-Addressing |
disableRMQoS |
Inaktiviert WS-ReliableMessaging Version 1.1 |
disableRM1QoS |
Inaktiviert WS-ReliableMessaging Version 1.0 |
disableSCQoS |
Inaktiviert WS-SecureConversation |
disableRSPQoS |
Inaktiviert WS-ReliableMessaging und WS-SecureConversation |
disableWSAQoS |
Inaktiviert WS-Addressing |
Verwenden Sie die folgenden Schritte, um die Scripts für zuverlässiges Messaging (ReliableMessaging)
unter dem Betriebssystem "Windows" auszuführen. Sie können alle Scripts für ein bestimmtes Betriebssystem auf ähnliche Weise ausführen.
- Öffnen Sie eine Eingabeaufforderung. Klicken Sie im Menü "Start" auf "Ausführen". Geben Sie cmd ein.
- Wechseln Sie in das Verzeichnis "Stammverzeichnis_des_Anwendungsservers/samples/bin/JaxWSServicesSamples". Beispiel:
cd C:/Programme/IBM/WebSphere/AppServer/samples/bin/JaxWSServiceSamples
- Führen Sie die Scripts für zuverlässiges Messaging aus.
- Zum Ausführen der Scripts für das Aktivieren des zuverlässigen Messaging geben Sie den Befehl
"enableRMQos.bat" ein.
- Zum Ausführen der Scripts für das Inaktivieren des zuverlässigen Messaging geben Sie den Befehl
"disableRMQos.bat" ein.
- (Optional) Geben Sie die Namen Ihres Profils, Ihrer Zelle, Ihres Knotens oder Ihres Servers an, wenn Sie die
Scripts für zuverlässiges Messaging oder Sicherheit ausführen. Die Scripts für das Aktivieren
und Inaktivieren des zuverlässigen Messaging und der Sicherheit haben vier optionale Parameter:
- Profil: Anwendungsserverprofil
- Zelle: Anwendungsserverzelle
- Knoten: Anwendungsserverknoten
- Server: Anwendungsservername
Das folgende Beispiel demonstriert, wie das Aktivierungsscript für WS-ReliableMessaging
mit den optionalen Parametern Profil, Zelle und Knoten ausgeführt wird:
enableRMQoS.bat AppSrv02 MyServerNode01Cell MyServerNode01
Das folgende Beispiel demonstriert, wie das Inaktivierungsscript für WS-ReliableMessaging
mit den optionalen Parametern Profil, Zelle und Knoten ausgeführt wird:
disableRMQoS.bat AppSrv02
MyServerNode01Cell MyServerNode01
- Konfigurieren Sie bei Bedarf weitere Parameter in der Befehlszeile. Wenn in Ihrem Server die Verwaltungssicherheit aktiviert ist, müssen Sie die Benutzer-ID
und das Kennwort eingeben, oder das Script scheitert. Beispiel:
./enableRMQoS.sh -user myuserid -password
mypassword
- Vergewissern Sie sich, dass die Beispielanwendungen ordnungsgemäß gestartet werden. Wenn Sie eine Warnung
empfangen, wurden die Beispielanwendungen möglicherweise nicht ordnungsgemäß gestartet. Verwenden
Sie die Administrationskonsole, um die Beispielanwendungen zu stoppen und anschließend erneut
zu starten.
Wenn Sie die Thin-Client-Beispiele "Ping" und "Echo"
mit Richtliniensätzen für Servicequalität zu testen, müssen Sie die folgenden Richtlinien einhalten.
- Wenden Sie die Servicequalität, die Sie mit den Beispielanwendungen testen möchten, gemäß
den Anweisungen im Abschnitt "Scripts für Richtliniensätze" an.
- Bearbeiten Sie das Script "runSampleSei" für Ihr Betriebssystem.
- Wenn Sie die WS-I-RSP- und SecureConversation-Richtlinien hinzufügen möchten, fügen Sie
die folgende Anweisung dem Pfad der JAAS-Anmeldedatei (Java Authentication and Authorization) hinzu:
Unter Windows-Betriebssystemen:
set
JAASLOGIN=-Djava.security.auth.login.config=<Profilstammverzeichnis>/properties/wsjaas_client.conf
Unter Betriebssystemen wie AIX, Linux und z/OS:
export
JAASLOGIN=-Djava.security.auth.login.config=<Profilstammverzeichnis>/properties/wsjaas_client.conf
Profilstammverzeichnis steht für das Serververzeichnis, in dem sich Ihr Profil befindet, z. B.
set
JAASLOGIN=-Djava.security.auth.login.config=C:/IBM/WebSphere/profiles/AppSrv02/properties/wsjaas_client.conf
- Ändern Sie die Klassenpfadanweisung.
Unter Windows-Betriebssystemen:
set
CLASSPATH=%THIN_JAR%;./WSSampleClientSei.jar;.
Unter Betriebssystemen wie AIX, Linux und z/OS:
export
CLASSPATH=${THIN_JAR}:./WSSampleClientSei.jar:.
Anmerkung: Am Ende der Klassenpfadanweisung wird ein Punkt (.) eingefügt.
Der Punkt wird eingefügt, damit der Code für das Laden von Richtliniensätzen das Verzeichnis "META-INF" findet.
Lassen Sie den Punkt nicht weg.
- Fügen Sie <JAASLOGIN> und
-DUSER_INSTALL_ROOT="<Profilstammverzeichnis>" dem Java-Befehl hinzu.
Unter Windows-Betriebssystemen:
java %JAASLOGIN%
-DUSER_INSTALL_ROOT= "<Profilstammverzeichnis>" -cp
"%CLASSPATH%" com.ibm.was.wssample.sei.cli.SampleClient %*
Unter Betriebssystemen wie AIX, Linux und z/OS:
java ${JAASLOGIN}
-DUSER_INSTALL_ROOT="<Profilstammverzeichnis>" -cp
"${CLASSPATH} " com.ibm.was.wssample.sei.cli.SampleClient
$@
- Erstellen Sie ein Verzeichnis mit dem Namen "META-INF" im Verzeichnis "Stammverzeichnis_des_Anwendungsservers/samples/bin/JaxWSServicesSamples".
- Kopieren Sie das Verzeichnis "PolicySets" aus dem Verzeichnis "Profilstammverzeichnis/config/cells/Zellenname/" in das Verzeichnis
"Stammverzeichnis_des_Anwendungsservers/samples/bin/JaxWSServicesSamples/META-INF".
- Kopieren Sie das Unterverzeichnis "bindings" und die Datei "clientPolicyAttachment.xml" aus dem Verzeichnis
"Profilstammverzeichnis/config/cells/Zellenname/applications/JaxWSServicesSamples.ear/deployments/JaxWSServicesSamples/META-INF" in das Verzeichnis
"Stammverzeichnis_des_Anwendungsservers/samples/bin/JaxWSServicesSamples/META-INF".
Kopieren Sie das gesamte Verzeichnis "bindings" und seinen Inhalt, z. B. "SecureConversationClientBinding" oder "RAMP_client_default_bindings".
- Wechseln Sie aus dem aktuellen Verzeichnis in das Verzeichnis "Stammverzeichnis_des_Anwendungsservers/samples/bin/JaxWSServicesSamples", und führen Sie das Beispiel aus.