Web-Service-Client für den Zugriff auf Ressourcen über einen Web-Proxy konfigurieren
Sie können einen Web-Service-Client für den Zugriff auf Ressourcen über einen Web-Proxy-Server konfigurieren.
Informationen zu diesem Vorgang
- Konfigurieren Sie die Eigenschaften in der Anzeige für angepasste JVM-Eigenschaften (Java™ Virtual Machine) in der Administrationskonsole.
- Konfigurieren Sie die Eigenschaften mit dem Befehlszeilentool wsadmin.
- Konfigurieren Sie die Eigenschaften mit einem Assembliertool.
- Konfigurieren Sie die Eigenschaften über das Programm mit dem Anwendungsprogrammiermodell.
Wenn Sie die Eigenschaften über das Programm mit dem Programmiermodell Java API XML-based Remote Procedure Call (JAX-RPC) oder dem Programmiermodell Java API for XML Web Services (JAX-WS) konfigurieren möchten, sehen Sie sich die Spezifikation JAX-RPC bzw. JAX-WS an.
Eine vollständige Liste der unterstützten Standards und Spezifikationen finden Sie in der Dokumentation zu den Web-Service-Spezifikationen und den Anwendungsprogrammierschnittstellen.
- Werte, die über das Programm im Call-Objekt angegeben werden
- Werte, die in den Implementierungsdeskriptoren jedes Attributs portQNameBinding mit einem Assembliertool definiert werden
- Werte, die als JVM-Systemeigenschaften definiert werden
Bei JAX-WS-Web-Services (Java API for XML Web Services) haben die HTTP-Transporteigenschaften, die Sie in Ihren Richtliniensatzdefinitionen angeben, Vorrang vor den über das Programm definierten Werten. Danach haben die über das Programm definierten HTTP-Transportwerte Vorrang vor den Werte, die als JVM-Systemeigenschaften definiert werden. Für JAX-WS-Anwendungen werden keine Implementierungsdeskriptoren unterstützt. Verwenden Sie Annotationen, um die Implementierungsinformationen anzugeben.
Vorgehensweise
Ergebnisse
Sie haben den Web-Service-Client so konfiguriert, dass er einen Web-Proxy für den Zugriff auf Ressourcen verwendet.
Optional können Sie die Eigenschaft http.nonProxyHosts setzen, um die Hostnamen von Maschinen anzugeben, an die keine Anforderungen über den Proxy-Server gesendet werden. 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. Diese Eigenschaft gilt für HTTP- und HTTPS-Verbindungen. Wenn Sie mehr über die Eigenschaft http.nonProxyHosts und andere HTTP-Eigenschaften, die Sie konfigurieren können, erfahren möchten, lesen Sie die Informationen zu angepassten HTTP-Transporteigenschaften für Web-Service-Anwendungen.
Beispiel
import com.ibm.wsspi.webservices.Constants
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(Constants.HTTP_PROXYHOST_PROPERTY, "proxyHost1.ibm.com");
((javax.xml.rpc.Stub) sq)._setProperty(Constants.HTTP_PROXYPORT_PROPERTY, "80");
//https.proxyHost als Eigenschaft in RequestContext festlegen.
BindingProvider bp = (Binding Provider)port;
bp.getRequestContext().put("https.proxyHost", "proxyHost1.ibm.com");
bp.getRequestContext().put("https.proxyPort", "80");