연결된 웹 서비스 바인딩 가져오기가 포함된 엔드포인트의
동적 호출을 사용 가능하게 하는 방법에 대해 설명합니다.
소개
가져오기에 지정된 엔드포인트와 다른
엔드포인트를 사용하여 서비스를 호출할 수 있습니다. 웹 서비스
바인딩의 경우 웹 서비스 URI 표준을 준수하는 URL을 사용하여
동적 엔드포인트를 지정할 수 있습니다.
그림 1. 연결된 가져오기를 사용하는 동적 호출을 통한 엔드포인트 대체에 대한
설명
WebSphere® Integration Developer에서
타스크를 수행하여 동적 엔드포인트를 포함하는 중개 모듈을 작성할 수 있습니다.
엔드포인트 주소의 프로그램화된 대체
SCA 공용 API를 사용하여 엔드포인트 주소를 대체할 수 있습니다.
다음 예제 코드에서
uri 값은
유효한 웹 서비스 형식이어야 합니다.
epr = EndpointReferenceFactory.INSTANCE.createEndpointReference();
epr.setAddress(uri);
Service dynamicService = (Service) ServiceManager.INSTANCE.getService(refname, epr);
URI에
http:/ 접두부가 있는 경우 주소는 SOAP/HTTP 엔드포인트로 해석됩니다.
URI에
jms:/ 접두부가 있는 경우 주소는 SOAP/JMS 엔드포인트로
해석됩니다.
웹 서비스 엔드포인트가 포함된 동적 호출 작성
동적 엔드포인트를 포함한 중개 모듈을 작성하려면 다음 타스크를 수행하십시오.
- 가져오기에 연결된 POJO가 포함된 중개 모듈 1을 작성하십시오.
- POJO 2에 연결된 내보내기 2가 포함된 중개 모듈 2를 작성하십시오.
- POJO 3에 연결된 내보내기 3이 포함된 중개 모듈 3을 작성하십시오.
- 메시지가 내보내기 2로 라우트되도록 가져오기를 구성하십시오.
- 내보내기 2와 내보내기 3의 포트 유형이 동일한지 확인하십시오.
- 세 개의 모듈을 서버로 전개하십시오.
동적 호출 사용
메시지에서 엔드포인트로 식별되는 내보내기 3으로 POJO가 호출될 때 동적 호출이 수행됩니다.
POJO는 메시지에서 엔드포인트를 추출하고 원래 전개에 지정된 내보내기 2 엔드포인트 대신 내보내기
3을 엔드포인트로 식별합니다.
POJO는 메시지에서 엔드포인트로 지정되는 원격 서비스를 호출하기 위해
SCA 엔드포인트 참조 API 및 가져오기에 연결된 참조를 사용합니다.
서비스가 호출되면 POJO에 응답이 리턴됩니다.
단방향 호출 메시지는 응답 메시지가 리턴되지 않는 점을 제외하면 양방향 메시지와 동일하게 작동합니다.
다음
조건 중 하나에 해당하면 런타임 예외가 발생합니다.
- 지정한 엔드포인트가 없습니다.
- URL 형식 및 가져오기 바인딩 유형은 호환되지 않습니다.
- URI에 유효하지 않은 구문이 있습니다.
- URL은 jms:로 시작하지만 가져오기 웹 서비스 바인딩은 SOAP/JMS 처리에 대해 구성되지 않았습니다.