Pagpili ng proxy para sa isang WebSphere 8.5.5 JAX-WS client
Ilapat ang mga dokumentadong katangian ng proxy ng WebSphere sa konteksto ng kahilingan ng JAX-WS client sa halip na baguhin ang routing ng buong JVM.
Para sa WebSphere Application Server 8.5.5 JAX-WS, suriin ang dalawang nakapaligid na kontrol bago umasa sa isang address sa konteksto ng kahilingan ng client. Ang katangian ng IBM sa antas ng JVM com.ibm.ws.websvcs.transport.enableProxyTunnel ay false bilang default; ang address sa bawat client ay hindi nagpapagana ng tunneling. Ang mga halaga ng HTTP transport ng set ng patakaran ay nangungibabaw rin sa mga programmatic na halaga, at ang mga iyon ay nangungibabaw sa mga system property ng JVM.
Para sa napiling umiiral na port, idinodokumento ng IBM ang setup na ito sa bawat client bago ang invocation:
import javax.xml.ws.BindingProvider;
BindingProvider binding = (BindingProvider) servicePort;
binding.getRequestContext().put("https.proxyHost", "proxy.example");
binding.getRequestContext().put("https.proxyPort", "8080");Naaangkop ang mga HTTPS key sa mga HTTPS endpoint; para sa HTTP gamitin ang katumbas na mga IBM HTTP key. Ang pinahihintulutang pampublikong SOAP endpoint ay makakagamit ng HTTP address mula sa listahan ng HTTP proxy lamang pagkatapos pahintulutan ng naaangkop na patakaran at mga kontrol ng tunnel at walang naka-configure na proxy account sa mga antas na iyon. Ang pagpapatotoo ng proxy ay may hiwalay na HTTP/HTTPS proxyUser at proxyPassword na katangian, na independiyente sa mga kredensyal ng serbisyong SOAP.
Ito ay mga extension ng WebSphere. Ang mapa ng BindingProvider sa Metro, CXF o ibang implementasyon ay hindi ginagawang portable ang mga string na iyon.
Panatilihin ang iba't ibang sabay-sabay na ruta sa mga client object na wastong naka-configure sa halip na muling isulat ang isang shared port context habang tumatakbo ang mga tawag. Nililimitahan nito ang address sa aktwal na client nang hindi itinuturing na lokal ng client ang lahat ng nakapaligid na kontrol ng JVM.