웹 프록시를 사용하여 자원에 액세스하도록 웹 서비스 클라이언트 구성
웹 프록시 서버를 사용하여 자원에 액세스하도록 웹 서비스 클라이언트를 구성할 수 있습니다.
이 태스크 정보
- 관리 콘솔의 JVM(Java™ Virtual Machine) 사용자 정의 특성 패널을 사용하여 특성을 구성합니다.
- wsadmin 명령행 도구를 사용하여 특성을 구성합니다.
- 어셈블리 도구로 특성을 구성합니다.
- 애플리케이션 프로그래밍 모델을 사용하여 프로그래밍 방식으로 특성을 구성합니다.
JAX-RPC(Java API XML-based Remote Procedure Call) 프로그래밍 모델 또는 JAX-WS(Java API for XML Web Services) 프로그래밍 모델을 사용하여 프로그래밍 방식으로 특성을 구성하려는 경우 JAX-RPC 또는 JAX-WS 스펙을 검토하십시오.
지원되는 표준 및 스펙의 전체 목록은 웹 서비스 스펙과 API 문서를 참조하십시오.
- 호출 오브젝트에서 프로그래밍 방식으로 지정된 값
- 어셈블리 도구를 사용하여 각 portQNameBinding 속성에서 배치 디스크립터에 정의된 값
- JVM 시스템 특성으로 정의된 값
JAX-WS(Java API for XML Web Services) 웹 서비스의 경우 정책 세트 정의에 지정한 HTTP 전송 값은 프로그래밍 방식으로 정의된 값보다 우선됩니다. 그 다음으로 프로그래밍 방식으로 정의한 HTTP 전송 값이 JVM 시스템 특성으로 정의된 값보다 우선됩니다. JAX-WS 애플리케이션의 경우 배치 디스크립터는 지원되지 않습니다. 어노테이션을 사용하여 배치 정보를 지정하십시오.
프로시저
결과
자원에 액세스할 때 웹 프록시 서버를 사용하도록 웹 서비스 클라이언트를 구성했습니다.
선택적으로 http.nonProxyHosts 특성을 설정하여 프록시 서버를 통해 요청이 전송되지 않는 시스템의 호스트 이름을 지정할 수 있습니다. 이 특성에 이름이 포함된 호스트로 전송되는 클라이언트 애플리케이션이 호출한 요청은 프록시 서버를 통해 전달되지 않습니다. 이 특성은 HTTP 및 HTTPS 연결 모두에 적용됩니다. http.nonProxyHosts 특성 및 사용자가 구성할 수 있는 기타 HTTP 특성에 대해 자세히 학습하려면 웹 서비스 애플리케이션에 대한 HTTP 전송 사용자 정의 특성을 참조하십시오.
예
import com.ibm.wsspi.webservices.Constants
Properties prop = new Properties();
InitialContext ctx = new InitialContext(prop);
Service service = (Service)ctx.lookup("java:comp/env/service/StockQuoteService");
QName portQname = new QName("http://httpchannel.test.wsfvt.ws.ibm.com", "StockQuoteHttp");
StockQuote sq = (StockQuote)service.getPort(portQname, StockQuote.class);
((javax.xml.rpc.Stub) sq)._setProperty(Constants.HTTP_PROXYHOST_PROPERTY, "proxyHost1.ibm.com");
((javax.xml.rpc.Stub) sq)._setProperty(Constants.HTTP_PROXYPORT_PROPERTY, "80");
//Set the https.proxyHost as a property on the RequestContext.
BindingProvider bp = (Binding Provider)port;
bp.getRequestContext().put("https.proxyHost", "proxyHost1.ibm.com");
bp.getRequestContext().put("https.proxyPort", "80");