HTTP-Conduit-Clienteigenschaften und angepasste Benutzereigenschaften aktivieren

Für JAX-WS-Anwendungen in Liberty können die HTTP-Clienteigenschaften und die angepassten Benutzereigenschaften in der Datei ibm-ws-bnd.xml definiert werden.

Vorbereitende Schritte

Die Datei ibm-ws-bnd.xml muss im Verzeichnis /WEB-INF einer webbasierten Web-Service-Anwendung (WAR-Datei) oder im Verzeichnis /META-INF einer EJB-basierten Web-Service-Anwendung (JAR-Datei) enthalten sein. Wenn der Client in clientContainer ausgeführt wird, muss die Datei ibm-ws-bnd.xml im Verzeichnis /META-INF der JAR-Datei in der Client-EAR-Datei enthalten sein.

Informationen zu diesem Vorgang

HTTP-Clienteigenschaften und angepasste Benutzereigenschaften können mit den Elementen service-ref und port in der Datei ibm-ws-bnd.xml für den betreffenden Service-Client oder Port, der durch die Annotation @WebServiceRef injiziert wird, definiert werden. Die Eigenschaften im Element port setzen die entsprechenden Eigenschaften im Element service-ref außer Kraft.
HTTP-Clienteigenschaften
Die folgenden HTTP-Clienteigenschaften werden im Liberty-Profil unterstützt. Diese Eigenschaften müssen das Präfix http.conduit.client. haben. Beispiel: http.conduit.client.ConnectionTimeout. Diese HTTP-Clienteigenschaften sind nur gültig, wenn SOAP-Nachrichten gesendet oder empfangen werden. Sie finden keine Anwendung, wenn eine Verbindung zu einem WSDL-URL hergestellt wird.
  • ConnectionTimeout
  • ReceiveTimeout
  • AsyncExecuteTimeout
  • AsyncExecuteTimeoutRejection
  • AutoRedirect
  • MaxRetransmits
  • AllowChunking
  • ChunkingThreshold
  • Connection
  • DecoupledEndpoint
  • ProxyServer
  • ProxyServerPort
  • ProxyServerType
  • NonProxyHosts
Weitere Informationen zu diesen Eigenschaften finden Sie im Artikel zum unter HTTP-Konfigurationsschema in Apache CXF und im Artikel zum Client-HTTP-Transport (einschließlich SSL-Unterstützung).
Angepasste Benutzereigenschaften
Außer den unterstützten HTTP-Clienteigenschaften in Liberty können Sie auch die angepassten Benutzereigenschaften definieren, die möglicherweise in Ihrer Anwendung verwendet werden, und diese Eigenschaften vom Kontext der Clientanforderung abrufen. Alle im Element properties definierten Attribute werden in den Kontext der Service-Client-Anforderung gestellt.

Informationen zu allen verfügbaren Elementen, die Sie innerhalb der Datei ibm-ws-bnd.xml konfigurieren können, finden Sie unter Liberty:Datei "ibm-ws-bnd.xml".

Vorgehensweise

  1. Konfigurieren Sie HTTP-Verbindungseigenschaften. Die folgenden Beispiele zeigen, wie die HTTP-Clienteigenschaften ConnectionTimeout und ReceiveTimeout in der Datei ibm-ws-bnd.xml konfiguriert werden. Das folgende Beispiel zeigt, wie die HTTP-Clienteigenschaften ConnectionTimeout und ReceiveTimeout für alle Ports des injizierten Service-Clients mit @WebServiceRef(name="service/SimpleEchoService") angewendet werden. Für den Port SimpleEchoPort wird auch der Wert der angepassten Benutzereigenschaft vendor angewendet.
    <?xml version="1.0" encoding="UTF-8"?>
    <webservices-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" 
    		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    				xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ws-bnd_1_0.xsd" 
    				version="1.0">
    		<service-ref name="service/SimpleEchoService">
    				<port name="SimpleEchoPort">
    						<properties vendor="IBM" />
    				</port>
    				<properties http.conduit.client.ConnectionTimeout="10000" 
    						http.conduit.client.ReceiveTimeout="15000" />
    	</service-ref>
    	...
    </webservices-bnd>
  2. Anschließend rufen Sie die in der Datei ibm-ws-bnd.xml definierten Eigenschaften aus dem Anforderungskontext des Clients ab, der wie folgt mit der Annotation @WebServiceRef(name="service/SimpleEchoService") injiziert wird.
    @WebServiceRef(name="service/SimpleEchoService")
    		private EchoService echoService;
       ...
    		Echo echo = echoService.getEchoPort();
    		BindingProvider bp = (BindingProvider)echo;
    String connTimeout = bp.getRequestContext().get("http.conduit.client.ConnectionTimeout").toString(); 
    String recTimeout = bp.getRequestContext().get("http.conduit.client.ReceiveTimeout").toString(); 
    String vendor = bp.getRequestContext().get("vendor").toString(); 
    		...

Symbol das den Typ des Artikels anzeigt. Taskartikel



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