U WebSphere Application Server 8.5.5 JAX-WS zkontrolujte dvě okolní nastavení, než se spolehnete na adresu v kontextu požadavku klienta. Vlastnost IBM na úrovni JVM com.ibm.ws.websvcs.transport.enableProxyTunnel má ve výchozím stavu hodnotu false; adresa pro jednotlivého klienta tunelování nezapne. Hodnoty HTTP transportu v sadě zásad také přepisují programové hodnoty a ty přepisují systémové vlastnosti JVM.

Pro zvolený existující port IBM dokumentuje toto nastavení pro jednotlivého klienta před voláním:

import javax.xml.ws.BindingProvider;

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

Klíče HTTPS platí pro koncové body HTTPS; pro HTTP použijte odpovídající klíče IBM HTTP. Povolený veřejný koncový bod SOAP může použít adresu HTTP ze seznamu HTTP proxy až poté, co to příslušná zásada a nastavení tunelování dovolí a na těchto úrovních není nakonfigurován žádný účet proxy. Ověřování proxy má samostatné vlastnosti HTTP/HTTPS proxyUser a proxyPassword, nezávislé na přihlašovacích údajích služby SOAP.

Toto jsou rozšíření WebSphere. Mapa BindingProvider v Metru, CXF nebo jiné implementaci tyto řetězce nepřenáší.

Udržujte různé souběžné trasy na vhodně nakonfigurovaných klientských objektech, místo abyste přepisovali sdílený kontext portu během volání. Adresa se tak omezí na skutečného klienta, aniž by se všechna okolní nastavení JVM považovala za místní pro klienta.

Související články