웹 프록시를 사용하여 자원에 액세스하도록 웹 서비스 클라이언트 구성

웹 프록시 서버를 사용하여 자원에 액세스하도록 웹 서비스 클라이언트를 구성할 수 있습니다.

이 태스크 정보

기타 HTTP 클라이언트 애플리케이션과 같이 인증 여부에 상관없이 웹 프록시 서버에 연결하여 자원에 액세스하도록 웹 서비스 클라이언트를 구성할 수 있습니다. 다른 웹 서비스에 대한 클라이언트 역할을 하는 웹 서비스에 대해 HTTP 전송 특성을 구성할 수 있습니다. 구성하는 HTTP 전송 값은 런타임 시 사용됩니다. 다음 방법 중 하나로 HTTP 전송 값을 구성합니다.
  • 관리 콘솔의 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 문서를 참조하십시오.

JAX-RPC(Java API XML-based Remote Procedure Call) 웹 서비스의 경우 HTTP 전송 값은 다음 우선순위에 따라 프로그래밍 메소드의 중요성을 판별합니다.
  1. 호출 오브젝트에서 프로그래밍 방식으로 지정된 값
  2. 어셈블리 도구를 사용하여 각 portQNameBinding 속성에서 배치 디스크립터에 정의된 값
  3. JVM 시스템 특성으로 정의된 값

JAX-WS(Java API for XML Web Services) 웹 서비스의 경우 정책 세트 정의에 지정한 HTTP 전송 값은 프로그래밍 방식으로 정의된 값보다 우선됩니다. 그 다음으로 프로그래밍 방식으로 정의한 HTTP 전송 값이 JVM 시스템 특성으로 정의된 값보다 우선됩니다. JAX-WS 애플리케이션의 경우 배치 디스크립터는 지원되지 않습니다. 어노테이션을 사용하여 배치 정보를 지정하십시오.

프로시저

  1. 다음 방법 중 하나로 웹 서비스에 대한 HTTP 또는 HTTPS proxyHostproxyPort 전송 특성을 구성하십시오.
    • 관리 콘솔의 JVM(Java Virtual Machine) 사용자 정의 특성 패널 사용
    • wsadmin 명령행 도구 사용
    • 어셈블리 도구 사용
    • 프로그래밍 방식으로 애플리케이션 프로그래밍 모델 사용
    HTTP를 통해 웹 프록시에 액세스하려면,
    • http.proxyHost
    • http.proxyPort
    HTTPS를 통해 웹 프록시에 액세스하려면,
    • https.proxyHost
    • https.proxyPort
  2. 웹 서비스 클라이언트에 HTTP 프록시 인증이 필요한 경우 이전 단계에서 지정한 메소드 중 하나를 사용하여 HTTP 또는 HTTPS proxyUserproxyPassword 전송 특성을 추가적으로 구성하십시오.
    HTTP를 통해 웹 프록시에 액세스하려면,
    • http.proxyUser
    • http.proxyPassword
    HTTPS를 통해 웹 프록시에 액세스하려면,
    • https.proxyUser
    • https.proxyPassword
  3. 프로그래밍 방식으로 HTTP 또는 HTTPS 특성을 지정하는 경우 HTTP 프록시 인증을 구성하도록 스텁 또는 호출 인스턴스에서 특성을 설정하십시오.
    1. 다음 웹 서비스 상수를 사용하여 프로그래밍 방식으로 HTTP 또는 HTTPS 특성을 설정할 수 있습니다.
      com.ibm.wsspi.webservices.Constants.HTTP_PROXYHOST_PROPERTY
      com.ibm.wsspi.webservices.Constants.HTTP_PROXYPORT_PROPERTY
      com.ibm.wsspi.webservices.Constants.HTTP_PROXYUSER_PROPERTY
      com.ibm.wsspi.webservices.Constants.HTTP_PROXYPASSWORD_PROPERTY
      com.ibm.wsspi.webservices.Constants.HTTPS_PROXYHOST_PROPERTY
      com.ibm.wsspi.webservices.Constants.HTTPS_PROXYPORT_PROPERTY
      com.ibm.wsspi.webservices.Constants.HTTPS_PROXYUSER_PROPERTY
      com.ibm.wsspi.webservices.Constants.HTTPS_PROXYPASSWORD_PROPERTY
  4. 웹 서비스 전송 계층에서 터널링을 사용하여 웹 프록시 서버를 통해 웹 서비스 클라이언트가 자원에 액세스하도록 설정하십시오. JVM(Java Virtual Machine) 특성, com.ibm.ws.websvcs.transport.enableProxyTunneltrue의 값으로 설정하십시오.

결과

자원에 액세스할 때 웹 프록시 서버를 사용하도록 웹 서비스 클라이언트를 구성했습니다.

선택적으로 http.nonProxyHosts 특성을 설정하여 프록시 서버를 통해 요청이 전송되지 않는 시스템의 호스트 이름을 지정할 수 있습니다. 이 특성에 이름이 포함된 호스트로 전송되는 클라이언트 애플리케이션이 호출한 요청은 프록시 서버를 통해 전달되지 않습니다. 이 특성은 HTTP 및 HTTPS 연결 모두에 적용됩니다. http.nonProxyHosts 특성 및 사용자가 구성할 수 있는 기타 HTTP 특성에 대해 자세히 학습하려면 웹 서비스 애플리케이션에 대한 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");
참고: JAX-WS의 경우 다음 코드에서는 BindingProvider의 RequestContext를 통해 HTTP 또는 HTTPS 특성을 프로그래밍 방식으로 지정할 수 있습니다.
//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");

주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_configwbsclient2webproxy
파일 이름:twbs_configwbsclient2webproxy.html