예: WS-Notification 등록 일시정지
제공된 코드 추출 예를 기반으로, 이용자 애플리케이션에 대한 등록을 일시정지하여 등록자 역할을 수행하는 JAX-RPC 클라이언트의 코드를 작성하려면 이 태스크를 사용합니다.
이 태스크 정보
이 예제는 XML 기반 원격 프로시저 호출(JAX-RPC) API용 Java™ API를 WS-Notification 서비스 지점 작성의 결과로 생성된 알림 브로커 WSDL에 대해 실행되는 WSDL2Java 도구를 사용하여 생성된 코드와 WebSphere® Application Server API 및 SPI와 함께 사용하는 것을 기반으로 합니다.
WebSphere Application Server에서는 WS-Notification
서비스의 두 가지 구현(버전 6.1 및 버전 7.0)이 있습니다. 이 JAX-RPC 예제는 버전 6.1 또는 버전 7.0 WS-Notification 서비스 지점과 상호작용할 수 있습니다. 그러나 정책 세트가 있는 WS-Notification을 사용하려면(예를 들어, WS-ReliableMessaging이 있는 컴포지션을 사용하려면), WS-Notification 애플리케이션이 XML 기반 웹 서비스(JAX-WS) 프로그래밍 모델용 Java API를 사용하도록 인코딩되어야 하며 버전 7.0 WS-Notification 서비스 지점과 상호작용해야 합니다. JAX-WS 클라이언트 애플리케이션 프로그래밍에 생소하면 다음 주제를 참조하십시오.
프로시저
- JAX-RPC 서비스를 찾아보십시오. JNDI 이름은 웹 서비스 클라이언트 구현에 따라 다릅니다. PauseSubscription 조작은 SubscriptionManager 서비스에 속합니다.
- 조작을 호출하려는 포트의 스텁을 가져오십시오.
- 일시정지하려는 등록과 요청을 연관시키십시오. subscriptionEPR은 등록 조작 호출로 리턴되는 EndpointReference입니다.
- 선택적 정보를 작성하십시오.
- 스텁에 대한 연관된 메소드를 호출하여 PauseSubscription 조작을 호출하십시오.
예
다음 코드 예는 이용자 애플리케이션에 대한 등록을 일시정지하여 등록자 역할을 수행하는 JAX-RPC 클라이언트를 설명합니다.
// Look up the JAX-RPC service. JNDI
이름은 웹 서비스 클라이언트 구현에
따라 다릅니다. // The PauseSubscription operation belongs to the SubscriptionManager service
InitialContext context = new InitialContext();
javax.xml.rpc.Service service = (javax.xml.rpc.Service) context.lookup("java:comp/env/services/SubscriptionManager");
// Get a stub for the port on which you want to invoke operations
SubscriptionManager stub = (SubscriptionManager) service.getPort(SubscriptionManager.class);
// Associate the request with the subscription you want to pause. The subscriptionEPR is the
// EndpointReference returned by the invocation of the Subscribe operation
((Stub) stub)._setProperty(WSAConstants.WSADDRESSING_DESTINATION_EPR, subscriptionEPR);
// Create any optional information
SOAPElement[] optionalInformation = new SOAPElement[] {};
// Invoke the PauseSubscription operation by calling the associated method on the stub
SOAPElement[] additionalReturnedInformation = stub.pauseSubscription(optionalInformation);