WebSphere Application Server 8.5.5 JAX-WS esetén két környező vezérlőt ellenőrizzen, mielőtt a kliens kéréskörnyezetében lévő címre támaszkodna. Az IBM JVM-szintű com.ibm.ws.websvcs.transport.enableProxyTunnel tulajdonsága alapértelmezés szerint false; az ügyfelenkénti cím nem kapcsolja be az alagutazást. Egy házirendkészlet HTTP-szállítási értékei is felülírják a programozott értékeket, azok pedig a JVM rendszertulajdonságait.

A kiválasztott meglévő porthoz az IBM ezt az ügyfelenkénti beállítást dokumentálja a hívás előtt:

import javax.xml.ws.BindingProvider;

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

A HTTPS-kulcsok HTTPS-végpontokra érvényesek; HTTP esetén a megfelelő IBM HTTP-kulcsokat használja. Egy engedélyezett nyilvános SOAP-végpont csak akkor használhat HTTP-címet a HTTP-proxylistáról, ha az alkalmazandó házirend és az alagútvezérlők engedik, és ezeken a szinteken nincs proxyfiók beállítva. A proxyhitelesítésnek külön HTTP/HTTPS proxyUser és proxyPassword tulajdonságai vannak, függetlenül a SOAP-szolgáltatás hitelesítő adataitól.

Ezek WebSphere-kiterjesztések. A BindingProvider-leképezés a Metroban, a CXF-ben vagy más implementációban nem teszi ezeket a karakterláncokat hordozhatóvá.

Tartsa a különböző egyidejű útvonalakat megfelelően beállított kliensobjektumokon, ahelyett hogy a hívások futása közben átírna egy megosztott portkörnyezetet. Így a cím az tényleges kliensre korlátozódik, anélkül hogy a környező JVM-vezérlőket klienslokálisnak tekintené.

Kapcsolódó cikkek