Memilih Proxy untuk Satu Klien WebSphere 8.5.5 JAX-WS
Terapkan properti proxy WebSphere yang terdokumentasi pada konteks permintaan klien JAX-WS alih-alih mengubah perutean seluruh JVM.
Untuk WebSphere Application Server 8.5.5 JAX-WS, periksa dua kendali di sekitarnya sebelum mengandalkan alamat di konteks permintaan klien. Properti IBM di tingkat JVM com.ibm.ws.websvcs.transport.enableProxyTunnel bernilai false secara default; alamat per klien tidak mengaktifkan terowongan. Nilai transport HTTP pada kumpulan kebijakan juga menimpa nilai programatik, dan nilai itu menimpa properti sistem JVM.
Untuk port yang ada dan dipilih, IBM mendokumentasikan penyiapan per klien ini sebelum pemanggilan:
import javax.xml.ws.BindingProvider;
BindingProvider binding = (BindingProvider) servicePort;
binding.getRequestContext().put("https.proxyHost", "proxy.example");
binding.getRequestContext().put("https.proxyPort", "8080");Kunci HTTPS berlaku untuk endpoint HTTPS; untuk HTTP gunakan kunci IBM HTTP yang sesuai. Endpoint SOAP publik yang diizinkan dapat memakai alamat HTTP dari daftar proxy HTTP hanya setelah kebijakan yang berlaku dan kendali terowongan mengizinkannya serta tidak ada akun proxy yang dikonfigurasi pada tingkat tersebut. Autentikasi proxy memiliki properti HTTP/HTTPS proxyUser dan proxyPassword terpisah, tidak bergantung pada kredensial layanan SOAP.
Ini adalah ekstensi WebSphere. Peta BindingProvider di Metro, CXF, atau implementasi lain tidak membuat string tersebut portabel.
Simpan rute bersamaan yang berbeda pada objek klien yang dikonfigurasi dengan tepat alih-alih menulis ulang konteks port bersama saat panggilan berjalan. Ini membatasi alamat pada klien sebenarnya tanpa menganggap semua kendali JVM di sekitarnya sebagai lokal klien.