Controleer voor WebSphere Application Server 8.5.5 JAX-WS twee omringende besturingen voordat u vertrouwt op een adres in de aanvraagcontext van de client. De IBM-eigenschap op JVM-niveau com.ibm.ws.websvcs.transport.enableProxyTunnel is standaard false; een adres per client schakelt geen tunneling in. De HTTP-transportwaarden van een beleidsset overschrijven ook programmatische waarden, en die overschrijven de systeemeigenschappen van de JVM.

Voor de gekozen bestaande poort documenteert IBM deze instelling per client vóór de aanroep:

import javax.xml.ws.BindingProvider;

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

De HTTPS-sleutels gelden voor HTTPS-eindpunten; gebruik voor HTTP de bijbehorende IBM HTTP-sleutels. Een toegestaan openbaar SOAP-eindpunt kan een HTTP-adres uit de HTTP-proxylijst pas gebruiken nadat het geldende beleid en de tunnelbesturingen dit toestaan en er op die niveaus geen proxyaccount is geconfigureerd. Proxyauthenticatie heeft afzonderlijke HTTP/HTTPS-eigenschappen proxyUser en proxyPassword, onafhankelijk van de inloggegevens van de SOAP-service.

Dit zijn WebSphere-uitbreidingen. Een BindingProvider-map in Metro, CXF of een andere implementatie maakt die strings niet overdraagbaar.

Houd verschillende gelijktijdige routes op correct geconfigureerde clientobjecten in plaats van een gedeelde poortcontext te herschrijven terwijl aanroepen lopen. Zo blijft het adres beperkt tot de werkelijke client zonder alle omringende JVM-besturingen als clientlokaal te behandelen.

Gerelateerde artikelen