Angepasste HTTP-Transporteigenschaften für Web-Service-Anwendungen

HTTP-Transporteigenschaften für JAX-WS (Java™ API for XML-Based Web Services) und JAX-RPC (Java API for XML-based RPC) können verwendet werden, um den Verbindungspool für abgehende HTTP-Verbindungen zu verwalten, die Inhaltscodierung von HTTP-Nachrichten zu konfigurieren, persistente HTTP-Verbindungen zu aktivieren und festzulegen, dass HTTP-Anforderungen erneut gesendet werden, wenn Zeitlimitüberschreitungen auftreten.

Das Herstellen einer Verbindung ist eine kostenintensive Operation. Die Verwendung von Verbindungspools steigert den Durchsatz, da der Systemaufwand für das Aufbauen und Trennen von Verbindungen vermieden wird. Wenn eine Anwendung einen Web-Service über einen HTTP-Transport aufruft, sucht der Connector für abgehenden HTTP-Transport eine vorhandene Verbindung in einem Verbindungspool und verwendet diese. Nach Empfang der Antwort gibt der Connector die Verbindung zur Wiederverwendung an den Pool zurück. Der Systemaufwand für das Erstellen und Trennen der Verbindung wird vermieden.

com.ibm.websphere.webservices.http.connectionIdleTimeout

Diese Eigenschaft gibt das Intervall in Sekunden an, nach dessen Ablauf eine Verbindung nicht mehr wiederverwendet wird.

Wenn eine Anwendung eine neue Verbindung anfordert, durchsucht der HTTP-Connector für abgehende Verbindungen die vorhandenen nicht verwendeten Verbindungen. Wird eine Verbindung gefunden, die während einer längeren Zeit inaktiv ist, als von dieser Eigenschaft angegeben, kann die Verbindung freigegeben werden. Wird eine Verbindung gefunden, die während einer kürzeren Zeit inaktiv ist, als von dieser Eigenschaft angegeben, wird die Verbindung wiederverwendet und die Suche wird gestoppt. Weil nur nach einem Endpunkt gesucht wird und die Suche gestoppt wird, bevor alle Verbindungen geprüft wurden, können inaktive Verbindung übrig bleiben.

Die Bereinigungstask überprüft regelmäßig alle nicht verwendeten Verbindungen auf ihre Inaktivitätszeit. Wenn die Bereinigungstask eine Verbindung findet, während einer längeren Zeit inaktiv ist, als von dieser Eigenschaft angegeben, wird sie freigegeben. Daher können inaktive Verbindung während einer Zeitdauer bestehen bleiben, die durch die Verzögerung des Zeitgebers der Bereinigungstask plus den Wert dieser Eigenschaft bestimmt wird. Wenn als Verzögerung des Zeitgebers der Bereinigungstask beispielsweise 180 Sekunden festgelegt sind und com.ibm.websphere.webservices.http.connectionIdleTimeout auf den Standardwert 5 gesetzt ist, können Verbindungen bis zu 185 Sekunden lang inaktiv sein, bevor sie freigegeben werden. Die JVM-Eigenschaft, die die Zeitgeberverzögerung der Bereinigungstask steuert, ist com.ibm.websphere.webservices.http.connectionPoolCleanUpTime.

Diese Eigenschaft wirkt sich auf alle HTTP-Anforderungen für Web-Services innerhalb einer JVM aus.

Tabelle 1. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.connectionIdleTimeout". Wert, der das Intervall nach dem Verwerfen einer inaktiven Verbindung angibt.
Information Wert
Datentyp Integer
Einheiten Sekunden
Standardeinstellung 5
Einstellmöglichkeiten 0 (null) bis maximaler Integer
Unterstützte Konfigurationen Unterstützte Konfigurationen: Diese Eigenschaft kann nur als angepasste JVM-Eigenschaft für Web-Service-Anwendungen konfiguriert werden.sptcfg

Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

com.ibm.websphere.webservices.http.connectionKeepAlive

Diese Eigenschaft gibt an, ob der Connector eine Live- oder persistente HTTP-Verbindung aufbauen soll. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Wenn die Eigenschaft den Wert true hat, behält der Connector die Verbindung im Verbindungspool und verwendet sie für nachfolgende HTTP-Anforderungen erneut. Die Verbindung wird jedoch geschlossen, wenn der syncTimeout-Wert (Lesezeitlimit) erreicht ist oder der Server die Verbindung unterbrochen hat. Eine inaktive Verbindung wird vom Poolverwaltungsthread auch geschlossen, wenn die Leerlaufzeit das Zeitlimit für den Leerlauf von Verbindungen überschreitet. Wenn die Eigenschaft auf false eingestellt ist, wird die Verbindung nach dem Senden der HTTP-Anforderung geschlossen. Der HTTP-Connector erstellt eine neue Verbindung, sobald eine neue Anforderung gesendet werden muss, aber keine Verbindung vorhanden ist.

Eine Antwort des Typs "HTTP 200" auf eine Anforderung weist darauf hin, dass die Anforderung empfangen wurde und dass die für die Anforderung verwendete Verbindung aktiv und zur Wiederverwendung für den nächsten Aufruf verfügbar ist. Eine Antwort des Typs "HTTP 202" auf eine Anforderung weist darauf hin, dass die Anforderung zwar empfangen wurde, dass die für die Anforderung verwendete Verbindung jedoch nicht zur Wiederverwendung verfügbar ist.

Fehler vermeiden Fehler vermeiden: Selbst wenn Sie auf eine Anforderung die Antwort 202 Accepted erhalten, wird die Anforderung möglicherweise nicht verarbeitet. Der Antwortcode 202 kann lediglich angeben, dass die Anforderung für die Verarbeitung akzeptiert wurde. Für eine akzeptierte Anforderung wird keine weitere Aktion ausgeführt, wenn sie nicht für die Verarbeitung durch den Server zugelassen wird. Es gibt keine Funktion, die es ermöglicht, einen Statuscode von einer asynchronen Operation wie einer HTTP-Anforderung erneut zu senden. Daher ist der Antwortcode 202 absichtlich unverbindlich. Der Zweck dieses Codes besteht darin, es einem Server zu erlauben, eine Anforderung von einem anderen Prozess, z. B. von einem stapelorientierten Prozess, der einmal täglich ausgeführt wird, zu akzeptieren, ohne dass die Verbindung Ihres Agenten mit dem Server bis zum Abschluss des Prozesses bestehen bleiben muss. Die mit dieser Antwort zurückgegebene Entität sollte einen Hinweis auf den aktuellen Status der Anforderung enthalten und entweder einen Zeiger auf einen Statusmonitor oder eine Schätzung darüber, wann die Anforderung voraussichtlich erfüllt werden wird.gotcha
Tabelle 2. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.connectionKeepAlive". Wert, der angibt, ob der Connector eine Live-HTTP-Verbindung oder eine persistente HTTP-Verbindung verwaltet.
Information Wert
Datentyp String
Standardeinstellung True
Gültige Werte True, false

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

com.ibm.websphere.webservices.http.connectionPoolCleanUpTime

Diese Eigenschaft gibt das Intervall (in Sekunden) zwischen den Ausführungen des Threads für Poolverwaltung an.

Diese Eigenschaft wirkt sich auf alle HTTP-Anforderungen für Web-Services innerhalb einer JVM aus. Wenn die Eigenschaft beispielsweise auf 180 eingestellt ist, wird der Thread für die Poolverwaltung in einem Intervall von 180 Sekunden ausgeführt. Bei der Ausführung des Threads für die Poolverwaltung verwirft der Connector alle Verbindungen in der Löschwarteschlange.

Tabelle 3. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.connectionPoolCleanUpTime". Wert, der das Intervall zwischen den Ausführungen des Verwaltungsthreads für den Verbindungspool angibt.
Information Wert
Datentyp Integer
Einheiten Sekunden
Standardeinstellung 180
Einstellmöglichkeiten 0 (null) bis maximaler Integer
Unterstützte Konfigurationen Unterstützte Konfigurationen: Diese Eigenschaft kann nur als angepasste JVM-Eigenschaft für Web-Service-Anwendungen konfiguriert werden.sptcfg

Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

com.ibm.websphere.webservices.http.connectionTimeout

Diese Eigenschaft gibt das Zeitlimit (in Sekunden) für eine Verbindungsanforderung an. Wenn dieses Zeitlimit überschritten wird, tritt ein Fehler vom Typ WebServicesFault("Verbindungszeitlimit überschritten") auf.

Der Wert dieser Eigenschaft wirkt sich auf alle HTTP-Verbindungsanforderungen aus, die der Connector für abgehende HTTP-Verbindungen stellt. Die Wartezeit ist erforderlich, wenn die maximale Anzahl der Verbindungen im Verbindungspool erreicht ist. Wenn Sie die Eigenschaft beispielsweise auf 300 einstellen und die maximale Anzahl der Verbindungen erreicht ist, wartet der Connector 300 Sekunden auf eine verfügbare Verbindung. Sollte nach 300 Sekunden immer noch keine Verbindung verfügbar sein, wird der Fehler WebServicesFault( "Verbindungszeitlimit überschritten") ausgegeben. Wenn die Eigenschaft auf 0 (null) eingestellt ist, wartet der Connector so lange, bis eine Verbindung verfügbar ist.

Falls in der Anwendung der Fehler WebServicesFault( "Verbindungszeitlimit überschritten") auftritt, müssen Sie den Wert der Eigenschaft "com.ibm.websphere.webservices.http.connectionTimeout" erhöhen. Überprüfen Sie auch die Auslastung der Anwendung. Wenn die Eigenschaft "com.ibm.websphere.webservices.http.maxConnection" auf 0 (null) und damit auf eine unbegrenzte Zahl von Verbindungen eingestellt ist, wird der Wert der Eigenschaft "com.ibm.websphere.webservices.http.connectionTimeout" ignoriert.

Tabelle 4. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.connectionTimeout". Wert, der das Zeitlimit für eine Verbindungsanforderung angibt.
Information Wert
Datentyp Integer
Einheiten Sekunden
Standardeinstellung 300
Einstellmöglichkeiten 0 (null) bis maximaler Integer
Unterstützte Konfigurationen Unterstützte Konfigurationen: Sie können diese Eigenschaft nur als angepasste JVM-Eigenschaft für Web-Service-Anwendungen konfigurieren.sptcfg

Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

com.ibm.websphere.webservices.http.maxConnection

Diese Eigenschaft gibt die maximale Anzahl von Verbindungen an, die im Verbindungspool für abgehende HTTP-Verbindungen erstellt werden.

Diese Eigenschaft wirkt sich auf alle HTTP-Verbindungen von Web-Services aus, die in einer JVM gestellt werden. Wenn die maximale Anzahl der Verbindungen erreicht ist, werden keine neuen Verbindungen mehr erstellt. Der HTTP-Connector wartet, bis eine aktuelle Verbindung an den Verbindungspool zurückgegeben wird. Sollte der HTTP-Connector nicht auf eine aktuelle Verbindung warten, weil das Zeitlimit für Verbindungsanforderungen überschritten ist, wird der Fehler WebServicesFault( "Verbindungszeitlimit überschritten" ) ausgegeben. Wenn die Eigenschaft beispielsweise auf 5 eingestellt ist und 5 Verbindungen im Gebrauch sind, wartet der HTTP-Connector so lange auf eine verfügbare Verbindung, wie mit der Eigenschaft "com.ibm.websphere.webservices.http.connectionTimeout" eingestellt wurde.

Bewährtes Verfahren Bewährtes Verfahren: Zur Sicherstellung einer guten Leistung muss die angepasste Eigenschaft "com.ibm.websphere.webservices.http.maxConnection" auf einen Wert größer-gleich der Hälfte der maximalen Anzahl Threads im Web-Container-Thread-Pool gesetzt werden. Die Standardgröße des Web-Container-Thread-Pools ist 50. Daher ist die Standardgröße für die Eigenschaft "com.ibm.websphere.webservices.http.maxConnection" auf 25 bzw. 50 für JAX-RPC bzw. JAX-WS eingestellt. Sie können die Einstellung für "com.ibm.websphere.webservice.http.maxConnection" von diesem Anfangswert nach oben hin anpassen, um die Threads besser zu nutzen.bprac
Tabelle 5. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.maxConnection". Wert, der die maximale Anzahl an Verbindungen angibt, die im Verbindungspool für abgehende HTTP-Verbindungen erstellt werden.
Information Wert
Datentyp Integer
Standardeinstellung

25 für JAX-RPC-Anwendungen

50 für JAX-WS-Anwendungen

Einstellmöglichkeiten 5 bis zu der maximalen Ganzzahl, die kleiner-gleich 50 % der Größe des Web-Container-Thread-Pools ist
Unterstützte Konfigurationen Unterstützte Konfigurationen: Diese Eigenschaft kann nur als angepasste JVM-Eigenschaft für Web-Service-Anwendungen konfiguriert werden.sptcfg

Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

com.ibm.websphere.webservices.http.responseContentEncoding

Diese Eigenschaft gibt den Codierungstyp für die Nachrichten jeder HTTP-Antwort an. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Fehler vermeiden Fehler vermeiden: Diese Eigenschaft gilt nur für JAX-RPC und wird nur dann verwendet, wenn sie für auf JAX-WS basierende Services aktiviert ist. gotcha

Die unterstützten Codierungsformate richten sich nach der Protokollspezifikation HTTP 1.1 und umfassen gzip, x-gzip und deflate. Falls diese Eigenschaft konfiguriert ist, wird der Header "Content-Encoding" in der HTTP-Antwort auf denselben Wert gesetzt. Der Inhalt der HTTP-Antwort wird nicht codiert, wenn die Eigenschaft nicht gesetzt ist. Der Standardwert ist no encoding (keine Codierung).

Wenn die Eigenschaft gesetzt ist, muss der Anforderungsclient dieselbe Codierung unterstützen. Andernfalls kann ein Fehler auftreten und die Nachricht WebServicesFault() angezeigt werden.

Das Codierungsformat compress wird nicht unterstützt, und das Codierungsformat x-gzip entspricht dem Codierungsformat gzip.

Tabelle 6. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.responseContentEncoding". Wert, der den Codierungstyp für die Nachricht jeder HTTP-Antwort angibt.
Information Wert
Datentyp String
Gültige Werte gzip, x-gzip und deflate

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

com.ibm.websphere.webservices.http.requestContentEncoding

Diese Eigenschaft gibt den Codierungstyp für die Nachrichten jeder abgehenden HTTP-Anforderung an. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Die unterstützten Codierungsformate richten sich nach der Protokollspezifikation HTTP 1.1 und umfassen gzip, x-gzip und deflate. Falls diese Eigenschaft konfiguriert ist, werden die Header "Content-Encoding" und "Accept-Encoding" in der HTTP-Anforderung auf denselben Wert gesetzt. Wenn Sie diese Eigenschaft beispielsweise auf gzip einstellen, werden die Header auf Content-Encoding: gzip und Accept-Encoding: gzip umgestellt. Die HTTP-Anforderungsnachricht wird nicht codiert, wenn diese Eigenschaft nicht gesetzt ist. Standardmäßig wird keine Codierung verwendet.

Prüfen Sie, ob der Ziel-Web-Server das konfigurierte Codierungsformat decodieren kann. Wenn Sie die Eigenschaft beispielsweise auf gzip setzen, muss auch der Ziel-Web-Server die Codierung gzip unterstützen. Andernfalls kann ein Fehler auftreten und der Statuscode 415 Unsupported Media Type angezeigt werden.

Das Codierungsformat compress wird nicht unterstützt, und das Codierungsformat x-gzip entspricht dem Codierungsformat gzip.

Tabelle 7. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.requestContentEncoding". Wert, der den Codierungstyp für die Nachricht jeder abgehenden HTTP-Anforderung angibt.
Information Wert
Datentyp String
Gültige Werte gzip, x-gzip und deflate

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

com.ibm.websphere.webservices.http.requestResendEnabled

Diese Eigenschaft weist den HTTP-Connector an, die SOAP-Nachricht mit einer HTTP-Anforderung zu senden, wenn ein Fehler java.net.ConnectException: Lesezeitlimit überschritten protokolliert wird. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Diese Eigenschaft weist den HTTP-Connector an, die SOAP-Nachricht mit einer HTTP-Anforderung zu senden, wenn ein Fehler java.net.ConnectException: Lesezeitlimit überschritten protokolliert wird. Die java.net.ConnectException wird ausgelöst, wenn das Socket-Zeitlimit überschritten wird oder ein Server beendet wird, während die Anforderung gesendet wird. Wenn die Eigenschaft konfiguriert ist, wiederholt der Connector die Verbindungsanforderung nur einmal und sendet dieselbe SOAP-Nachricht mit HTTP. Sollte der erneute Verbindungsaufbau scheitern, sendet der Connector die SOAP-Nachricht nicht und protokolliert einen Fehler des Typs WebServicesFault.

Es können Probleme in der Anwendung auftreten, wenn diese Eigenschaft aktiviert ist. Die erneut gesendete HTTP-Anforderung kann zweimal vom Server empfangen werden, was zu unerwarteten Ergebnissen führen kann.

Tabelle 8. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.requestResendEnabled". Wert, der den HTTP-Connector anweist, die SOAP-over-HTTP-Anforderungsnachricht nach dem Eintreten einer Fehlerbedingung erneut zu senden.
Information Wert
Datentyp String
Standardeinstellung False
Gültige Werte True, false

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

com.ibm.websphere.webservices.http.SocketTimeout

Diese Eigenschaft gibt das Zeitlimit für die Einrichtung des Socket für abgehende Verbindungen beim fernen Server an (in Sekunden).

Diese Eigenschaft wirkt sich auf alle HTTP-Anforderungen für Web-Services innerhalb einer JVM aus. Wird ein ungültiger Wert angegeben, überschreibt der Standardwert den ungültigen Wert.

Tabelle 9. Werte für die Eigenschaft "com.ibm.websphere.webservices.http.SocketTimeout". Wert, der die beim Erstellen des abgehenden Sockets mit dem fernen Server einzuhaltende Wartezeit angibt.
Information Wert
Datentyp Integer
Einheiten Sekunden
Standardeinstellung 180
Achtung: Wenn ein ungültiger Wert angegeben wird, überschreibt der Standardwert den ungültigen Wert.
Einstellmöglichkeiten 0 (null) bis 2147482 (maximale ganze Zahl)
Unterstützte Konfigurationen Unterstützte Konfigurationen: Diese Eigenschaft kann nur als angepasste JVM-Eigenschaft für Web-Service-Anwendungen konfiguriert werden.sptcfg

Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

com.ibm.ws.webservices.enableHTTPPrefix

Diese Eigenschaft gibt an, ob der Wert für hostname:port, der als angepasstes HTTP-URL-Präfix in der Anzeige "Informationen zum HTTP-Endpunkt-URL angeben" in der Administrationskonsole definiert ist, in das URL-Feld in der Kopie der WSDL-Datei eingetragen wird, die vom Service an den Client zurückgegeben wird. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Konfigurieren Sie diese Eigenschaft mit dem Wert true, damit das angepasste HTTP-URL-Präfix in der WSDL-Datei, die an den Client zurückgegeben wird, richtig angegeben wird. Wenn diese Eigenschaft nicht mit dem Wert true konfiguriert ist, wird der angepasste hostname:port-Wert des Serverknotens, der die Anforderung beantwortet, nicht in das URL-Feld in der Kopie der WSDL-Datei, die an den Client zurückgegeben wird, eingetragen.

Tabelle 10. Werte für die Eigenschaft "com.ibm.ws.webservices.enableHTTPPrefix". Werte für die Spezifikation der HTTP-Transporteigenschaft "enableHTTPPrefix"
Information Wert
Datentyp String
Standardeinstellung False
Gültige Werte True, false
Unterstützte Konfigurationen Unterstützte Konfigurationen: Diese Eigenschaft kann nur als angepasste JVM-Eigenschaft für JAX-RPC-Web-Service-Anwendungen konfiguriert werden.sptcfg
Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

Sie müssen den Anwendungsserver nach der Definition dieser angepassten Eigenschaft erneut starten, damit die Eigenschaft vom System verwendet wird.

enableMultiThreadedSession

Diese Eigenschaft gibt an, ob ein Client HTTP-Sitzungsdaten in mehreren Threads für dieselbe Clientinstanz verwenden darf. Zum Aktivieren dieses Verhaltens konfigurieren Sie diese Eigenschaft mit dem Wert true, indem Sie die Methode "_setProperty" im Client-Stub aufrufen. Wenn diese Eigenschaft nicht aktiviert ist, gelten Sitzungen lokal für den Thread, in dem der Client aufgerufen wird.

Diese Eigenschaft ist nur für JAX-RPC-Web-Services (Java API for XML-based RPC) gültig.

Der folgende Code demonstriert, wie Sie die Eigenschaft "enableMultiThreadedSession" über das Programm konfigurieren.
Properties prop = new Properties();
InitialContext ctx = new InitialContext(prop);
Service service = (Service)ctx.lookup("java:comp/env/service/StockQuoteService");
QName portQname = new QName("http://httpchannel.test.wsfvt.ws.ibm.com", "StockQuoteHttp");
StockQuote sq = (StockQuote)service.getPort(portQname, StockQuote.class);
((javax.xml.rpc.Stub) sq)._setProperty(com.ibm.wsspi.webservices.Constants.ENABLE_MULTITHREADED_SESSION, Boolean.TRUE);
Tabelle 11. Werte für die Eigenschaft "enableMultiThreadedSession". Wert, der angibt, ob ein Client HTTP-Sitzungsdaten in mehreren Threads für dieselbe Clientinstanz verwenden darf.
Information Wert
Datentyp Boolean
Standardeinstellung False
Gültige Werte True, false

Sie müssen den Anwendungsserver nach der Definition dieser angepassten Eigenschaft erneut starten, damit die Eigenschaft vom System verwendet wird.

HttpInboundPersistReadTimeout

Diese Eigenschaft gibt das Zeitlimit (in Sekunden) für persistente Leseoperationen für asynchrone JAX-WS-Anwendungen an.

Unterstützte Konfigurationen Unterstützte Konfigurationen: Diese Eigenschaft ist nur für asynchrone JAX-WS-Anwendungen gültig, die in einer eigenständigen Anwendungsserverumgebung ausgeführt werden, und gilt für alle definierten asynchronen Antwortlistener. Sie können diese Eigenschaft nur als angepasste JVM-Eigenschaft definieren. Diese Eigenschaft wirkt sich auf alle HTTP-Anforderungen für Web-Services innerhalb einer JVM aus.sptcfg
Bei asynchronen Web-Services öffnet der Client-Listener für asynchrone Antworten ein Socket mit einem Standardwert von sieben Sekunden, um auf asynchrone Antworten zu warten. Wenn die Serveroperation mehr Zeit in Anspruch nimmt als durch den Standardwert vorgegeben, kann der Server oder der Client die folgende Ausnahmebedingung empfangen:
java.io.IOException: Async IO operation failed (1), reason: RC: 32  Broken pipe
Diese Ausnahmebedingung tritt ein, weil das Zeitlimit für persistentes Lesen auf dem Client überschritten und die Verbindung daher geschlossen wird.

Verwenden Sie diese Eigenschaft für das Lesezeitlimit, wenn Sie große Datenmengen lesen oder wenn das Netz langsam ist und der Server für das Lesen der Daten mehr als sieben Sekunden (Standardwert) benötigt. Wenn Sie serverseitig eine Ausnahmebedingung aufgrund einer unterbrochenen Pipe empfangen, müssen Sie den Wert dieser Zeitlimiteigenschaft erhöhen.

Tabelle 12. Werte für die Eigenschaft "HttpInboundPersistReadTimeout". Werte, die zur Angabe des Lesezeitlimits verwendet werden, nach dessen Überschreitung die Sitzung des asynchronen Listeners geschlossen wird.
Information Wert
Datentyp Integer
Einheiten Sekunden
Standardeinstellung 7
Gültige Werte 0 (null) bis maximaler Integer

Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

http.nonProxyHosts

Diese JVM-Systemeigenschaft fungiert wie eine Überschreibung der Eigenschaften http.proxyHost und https.proxyHost und gibt die Hostnamen von Maschinen an, an die Anforderungen nicht über den Proxy-Server gesendet werden. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Alle von der Clientanwendung aufgerufenen Anforderungen, die an einen Host gesendet werden, dessen Name in dieser Eigenschaft enthalten ist, werden nicht über den Proxy-Server übergeben. Trennen Sie die einzelnen Hostnamen in der Liste jeweils mit einem vertikalen Balken ("|"). Sie können einen Stern (*) als Platzhalterzeichen verwenden.

Die Eigenschaft http.nonProxyHosts wird auf HTTP- und HTTPS-Verbindungen angewendet.

Geben Sie in der Anzeige mit den angepassten JVM-Eigenschaften beispielsweise ein Name/Wert-Paar für den Proxy-Host und den Nicht-Proxy-Host ein:
  • Geben sie für den Proxy-Host den Namen http.proxyHost und den Wert myproxy.mycompany.com ein.
  • Geben Sie für den Nicht-Proxy-Host den Namen http.nonProxyHosts und den Wert host1.company1.com|host*.company2.com|*.company3.com ein.
Alle Anforderungen werden über den Proxy-Server myproxy.mycompany.com weitergeleitet, mit Ausnahme der HTTP-Anforderungen, die für die folgenden Hosts bestimmt sind:
  • einen einzelnen Host mit dem Namen host1.company1.com
  • einen beliebigen Host in der Domäne company2.com, dessen Name mit host beginnt
  • einen beliebigen Host in der Domäne company3.com
Anmerkung: Die Verarbeitung der Einstellungen für http.nonProxyHosts wird als reine Mustererkennung durchgeführt. Hostnamen werden nicht in das vollständig qualifizierte Format erweitert, bevor sie mit dem Muster abgeglichen werden. Wenn http.nonProxyHosts wie im vorherigen Beispiel angegeben ist, stimmt die Zeichenfolge host1 mit keiner der angegebenen Einstellungen überein, und deshalb sendet die Web-Service-Engine die Anforderung über den Proxy-Server. Damit die Anforderung für host1 nicht über den Proxy-Server gesendet wird, muss die Spezifikation von http.nonProxyHosts host1 enthalten. Im Folgenden wird diese Spezifikation veranschaulicht.
http.nonProxyHosts="host1.company1.com|host*.company2.com|*.company3.com|host1"
Bewährtes Verfahren Bewährtes Verfahren: Wenn Sie einen Web-Service-Client über einen Web-Proxy verwenden, hat sich das Verfahren bewährt, den lokalen Host in der Eigenschaft http.nonProxyHosts anzugeben, falls Web-Services auf demselben System bereitgestellt werden. Ist der Name des lokalen Hosts beispielsweise "myHost.myCorp.com", müssen Sie die Eigenschaft http.nonProxyHosts auf localhost|myHost.myCorp.com oder localhost|*.myCorp.com setzen. Wenn Sie den lokalen Host nicht in der Eigenschaft http.nonProxyHosts angeben, werden die Web-Service-Anforderungen, die an den lokalen Host abgesetzt werden, an den Web-Proxy gesendet und kehren dann zum lokalen Host zurück. bprac
Tabelle 13. Werte für die Eigenschaft "http.nonProxyHosts". Werte, die die Hostnamen von Maschinen angeben, an die keine Anforderungen über den Proxy-Server gesendet werden.
Information Wert
Datentyp String
Unterstützte Konfigurationen Unterstützte Konfigurationen: Diese Eigenschaft kann nur als angepasste JVM-Eigenschaft für Web-Service-Anwendungen konfiguriert werden.sptcfg

Weitere Informationen zum Konfigurieren dieser Eigenschaft finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole.

http.proxyHost

Diese Eigenschaft gibt den Hostnamen eines HTTP-Proxy-Servers an. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Tabelle 14. Werte für die Eigenschaft "http.proxyHost". Wert, der den Hostnamen eines HTTP-Proxys angibt.
Information Wert
Datentyp String

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

http.proxyPort

Diese Eigenschaft gibt den Port eines HTTP-Proxy-Servers an. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Tabelle 15. Werte für die Eigenschaft "http.proxyPort". Wert, der den Port eines HTTP-Proxys angibt.
Information Wert
Datentyp String

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

https.proxyHost

Diese Eigenschaft gibt den Hostnamen eines HTTPS-Proxy-Servers an. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Tabelle 16. Werte für die Eigenschaft "https.proxyHost" . Wert, der den Hostnamen eines HTTPS-Proxys angibt.
Information Wert
Datentyp String

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

https.proxyPort

Diese Eigenschaft gibt den Port eines HTTPS-Proxy-Servers an. Es ist eine HTTP-Transporteigenschaft, die Sie für Web-Service-Anwendungen konfigurieren können.

Tabelle 17. Werte für die Eigenschaft "https.proxyPort". Wert, der den Port eines HTTPS-Proxys angibt.
Information Wert
Datentyp String

Wie Sie diese Eigenschaft konfigurieren, können Sie in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit wsadmin und in den Informationen zum Konfigurieren weiterer HTTP-Transporteigenschaften mit einem Assembliertool nachlesen.

timeout

Diese Eigenschaft gibt das Zeitlimit (in Sekunden) an, nach dessen Ablauf eine Lesezeitlimitüberschreitung auftritt.

Beim Lesen einer großen Web-Service-Nachricht können WSWS3228E-Nachrichten zusammen mit SocketTimeoutExceptions-Fehlern ausgegeben werden, wenn Web-Services aufgerufen werden.

Der Wert wirkt sich auf alle HTTP-Verbindungsanforderungen aus, die der Connector für eingehende HTTP-Verbindungen stellt. Verwenden Sie diese Eigenschaft für das Lesezeitlimit, wenn Sie große Datenmengen lesen oder wenn das Netz langsam ist und für das Lesen der Daten mehr als 300 Sekunden (Standardzeit) benötigt. Wenn beim Lesen der Nachricht SocketTimeoutExceptions-Fehler auftreten, erhöhen Sie den Wert der Eigenschaft "timeout".

Tabelle 18. Werte für die Eigenschaft "timeout". Wert, der das Lesezeitlimit angibt.
Information Wert
Datentyp Integer
Einheiten Sekunden
Standardeinstellung 300
Einstellmöglichkeiten 0 (null) bis maximaler Integer
Unterstützte Konfigurationen Unterstützte Konfigurationen: Für JAX-WS-Anwendungen können Sie diese Eigenschaft als angepasste JVM-Eigenschaft konfigurieren. Informationen zum Konfigurieren dieser Eigenschaft als angepasste JVM-Eigenschaft finden Sie im Artikel zur Konfiguration der HTTP-Transportrichtlinie. Für JAX-RPC-Anwendungen kann die Eigenschaft für Lesezeitlimit com.ibm.ws.webservices.readTimeout als angepasste JVM-Eigenschaft konfiguriert werden. sptcfg

Für JAX-WS-Anwendungen können Sie diese Eigenschaft auch konfigurieren, indem Sie die HTTP-Transportrichtlinie anpassen oder JAX-WS-Bindungen verwenden. Informationen zum Konfigurieren dieser Eigenschaft mithilfe dieser Methoden finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole oder im Artikel zur Konfiguration der HTTP-Transportrichtlinie und Bindungseigenschaften.

write_timeout

Diese Eigenschaft gibt das zulässige Schreibzeitlimit (in Sekunden) an, wenn eine Nachricht gesendet wird.

Beim Schreiben einer großen Web-Service-Nachricht können WSWS3228E-Nachrichten zusammen mit SocketTimeoutExceptions-Fehlern ausgegeben werden, wenn Web-Services aufgerufen werden.

Der Wert dieser Eigenschaft wirkt sich auf alle HTTP-Verbindungsanforderungen aus, die der Connector für abgehende HTTP-Verbindungen stellt. Verwenden Sie diese Eigenschaft für das Schreibzeitlimit, wenn Sie große Datenmengen lesen oder wenn das Netz langsam ist und für das Schreiben der Daten mehr als 300 Sekunden (Standardzeit) benötigt. Wenn beim Schreiben der Nachricht SocketTimeoutExceptions-Fehler auftreten, erhöhen Sie den Wert der Eigenschaft "write_timeout".

Tabelle 19. Werte für die Eigenschaft "write_timeout". Wert, der das zulässige Schreibzeitlimit (in Sekunden) angibt, wenn eine Nachricht gesendet wird.
Information Wert
Datentyp Integer
Einheiten Sekunden
Standardeinstellung 300
Einstellmöglichkeiten 0 (null) bis maximaler Integer
Unterstützte Konfigurationen Unterstützte Konfigurationen: Für JAX-WS-Anwendungen können Sie diese Eigenschaft als angepasste JVM-Eigenschaft konfigurieren. Informationen zum Konfigurieren dieser Eigenschaft als angepasste JVM-Eigenschaft finden Sie im Artikel zur Konfiguration der HTTP-Transportrichtlinie. Für JAX-RPC-Anwendungen kann die Eigenschaft für Schreibzeitlimit com.ibm.ws.webservices.writeTimeout als angepasste JVM-Eigenschaft konfiguriert werden. sptcfg

Für JAX-WS-Anwendungen können Sie diese Eigenschaft auch konfigurieren, indem Sie die HTTP-Transportrichtlinie anpassen oder JAX-WS-Bindungen verwenden. Informationen zum Konfigurieren dieser Eigenschaft mithilfe dieser Methoden finden Sie im Artikel zur Konfiguration weiterer HTTP-Transporteigenschaften über die Administrationskonsole oder im Artikel zur Konfiguration der HTTP-Transportrichtlinie und Bindungseigenschaften.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



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