버스를 통해 JAX-RPC 클라이언트에서 직접 웹 서비스 메시지 보내기
JAX-RPC 클라이언트의 대상을 변경하여 버스를 통해 웹 서비스 메시지를 보내려면 이 태스크를 사용합니다.
이 태스크 정보
Java™ API for XML 기반 원격 프로시저 호출(JAX-RPC) 클라이언트 애플리케이션은 웹 서비스 요청 및 응답 메시지를 전송 및 수신합니다. IBM JAX-RPC 런타임 환경을 사용하는 JAX-RPC 클라이언트 애플리케이션은 애플리케이션이 개발된 WSDL 문서의 바인딩과 런타임에 사용되는 구성 데이터에 따라 여러 가지 다양한 방법으로 이 작업을 수행할 수 있습니다.
JAX-RPC 클라이언트 및 서버 프로그래밍 모델을 포함하는 기본 JAX-RPC 프로그래밍 개념에 대한 개요는 JAX-RPC 시작하기를 참조하십시오.
JAX-RPC 클라이언트를 사용하여 서비스 통합 버스를 통해 메시지를
보내려는 경우 다음과 같은 두 가지 선택사항이 있습니다.
대상 변경에는 다음 두 값을 클라이언트
애플리케이션 배치 디스크립터에 설정하는 작업 또는 클라이언트
애플리케이션 내에서 런타임에 동적으로 지정하는 작업이 포함됩니다.
- 바인딩 네임스페이스는 클라이언트가 메시징 버스를 직접 사용함을 표시하기 위해 설정됩니다.
- 엔드포인트 주소는 클라이언트가 사용하는 특정 대상과 (선택적으로) 메시지 형식을 포함하기 위해 설정됩니다.
대상은 또한 JAX-RPC 클라이언트가
사용하는 메시지의 포트 유형을 알 수 있도록 구성되어야
합니다. 이 작업은 다음과 같은 두 가지 방식으로 수행할 수 있습니다.
- 아웃바운드 서비스를 작성합니다. 아웃바운드 서비스는 외부에서 제공되는 웹 서비스를 나타냅니다. 이 경우 JAX-RPC 클라이언트로부터의 요청은 서비스 대상을 통해 전달되며 이후 아웃바운드 서비스 구성에서 정의된 서비스 제공자로 전송됩니다.
- 인바운드 서비스를 작성합니다. 인바운드 서비스는 메시징 버스 내부 또는 외부에서 제공되는 서비스를 나타냅니다. 기존 대상에서 인바운드 서비스를 작성할 수 있습니다. 인바운드 서비스 작성은 WSDL 포트 유형과 대상을 연관시킵니다. 인바운드 서비스를 포함하는 대상으로 대상을 바꾸는 경우, 클라이언트 애플리케이션이 대상 이름과 인바운드 서비스 이름을 둘 다 지정해야 합니다. 단일 대상에 대해 둘 이상의 인바운드 서비스를 구성할 수 있기 때문입니다. 이 경우 JAX-RPC 클라이언트로부터의 요청은 대상을 통해 전달된 다음 초기 대상에서 수행되는 라우팅에 따라 서비스 통합 버스를 통해 전달됩니다.
JAX-RPC 클라이언트를 사용하여 웹 서비스 메시지를 대상으로 직접 보내려면 다음 단계를 완료하십시오.
프로시저
- JAX-RPC 클라이언트 애플리케이션을 작성하십시오.
- JAX-RPC 클라이언트 애플리케이션이 메시지를 교환할 아웃바운드 서비스를 작성하거나 인바운드 서비스를 작성하십시오.
- 관리 콘솔을 사용하여 웹 서비스 클라이언트 바인딩 구성 및 웹 서비스 클라이언트 포트 정보에 설명된 대로 JAX-RPC 클라이언트 애플리케이션의 포트 정보에 액세스하십시오.
- JAX-RPC 클라이언트 애플리케이션의 기본 SOAP 바인딩을 대체하십시오. 바인딩 네임스페이스를 http://www.ibm.com/ns/2004/02/wsdl/mp/sib로 변경
- JAX-RPC 클라이언트 애플리케이션이 웹 서비스 요청을 보내기 위해 사용하는 엔드포인트를 대체하십시오. 새 엔드포인트는 sib: URL 구문을 사용해야 하며 아웃바운드 서비스 대상 이름이나 인바운드 서비스 이름 및 해당 대상 이름을 둘 다 포함해야 합니다.
다음에 수행할 작업
binding namespace를 변경한 후에는 대상으로 다시 지정된 포트에 대해 구성된 JAX-RPC 핸들러 목록이 무시됩니다. SOAP 바인딩으로 WSDL에 대해 개발된 클라이언트의 경우, 버스로 직접 대상을 변경하면 핸들러가 무시됩니다. 그러나 클라이언트가 서비스에 대한 바인드되지 않은 WSDL에 대해 개발된 경우에는 버스로의 대상 변경이 바인딩 네임스페이스 변경으로 간주되지 않으므로 핸들러 정보가 유지됩니다. 이러한 경우 JAX-RPC 핸들러는 SDOMessageContext 서브클래스와 함께 호출됩니다.
연관된 참조 정보: