For WebSphere Application Server 8.5.5 JAX-WS må du kontrollere to styringar rundt før du stolar på ei adresse i førespurnadskonteksten til klienten. IBM-eigenskapen på JVM-nivå com.ibm.ws.websvcs.transport.enableProxyTunnel er false som standard; ei adresse per klient slår ikkje på tunnellering. HTTP-transportverdiane i eit policy-sett overstyrer også programmatiske verdiar, og dei overstyrer JVM-systemeigenskapar.

For den valde eksisterande porten dokumenterer IBM denne oppsetjinga per klient før kallet:

import javax.xml.ws.BindingProvider;

BindingProvider binding = (BindingProvider) servicePort;
binding.getRequestContext().put("https.proxyHost", "proxy.example");
binding.getRequestContext().put("https.proxyPort", "8080");

HTTPS-nøklane gjeld for HTTPS-endepunkt; for HTTP brukar du dei tilsvarande IBM HTTP-nøklane. Eit tillate offentleg SOAP-endepunkt kan bruke ei HTTP-adresse frå HTTP-proxylista først når gjeldande policy og tunnellstyringane tillèt det, og når ingen proxykonto er konfigurert på desse nivåa. Proxyautentisering har eigne HTTP/HTTPS-eigenskapar proxyUser og proxyPassword, uavhengige av påloggingsinformasjonen til SOAP-tenesta.

Dette er WebSphere-utvidingar. Eit BindingProvider-kart i Metro, CXF eller ei anna implementering gjer ikkje desse strengane flyttbare.

Hald ulike samtidige ruter på rett konfigurerte klientobjekt i staden for å skrive om ein delt portkontekst medan kall køyrer. Slik blir adressa avgrensa til den faktiske klienten utan å handsame alle JVM-styringar rundt som klientlokale.

Relaterte artiklar