5장. WSDL의 바인딩 이해
초록
바인딩은 서비스를 정의하는 데 사용되는 논리 메시지를 엔드포인트에서 전송 및 수신할 수 있는 구체적인 페이로드 형식으로 매핑합니다.
5.1. 개요
바인딩은 서비스에서 사용하는 논리 메시지 간에 끝점이 물리적 환경에서 사용하는 구체적인 데이터 형식에 대한 브릿지를 제공합니다. 논리 메시지가 끝점에 의해 유선에 사용되는 페이로드 형식으로 매핑되는 방법을 설명합니다. 매개 변수 순서, 구체적인 데이터 유형 및 반환 값과 같은 세부 정보가 지정된 바인딩 내에 있습니다. 예를 들어 RPC 호출에 필요한 순서를 반영하도록 메시지 부분을 바인딩에서 다시 정렬할 수 있습니다. 바인딩 유형에 따라 메서드의 반환 유형을 나타내는 메시지 부분(있는 경우)을 확인할 수도 있습니다.
5.2. 포트 유형 및 바인딩
포트 유형 및 바인딩은 직접 관련이 있습니다. 포트 유형은 두 개의 논리 서비스 간의 상호 작용 집합에 대한 추상적 정의입니다. 바인딩은 논리 서비스를 구현하는 데 사용된 메시지가 물리적 환경에서 인스턴스화되는 방법에 대한 구체적인 정의입니다. 각 바인딩은 포트 유형에서 정의한 논리 서비스를 노출하는 하나의 끝점의 정의를 완료하는 네트워크 세부 정보 세트와 연결됩니다.
엔드포인트가 단일 서비스만 정의하도록 하려면 WSDL을 사용하려면 바인딩이 단일 포트 유형만 나타낼 수 있습니다. 예를 들어 두 포트 유형과의 계약이 있는 경우 두 포트 모두 구체적인 데이터 형식으로 매핑되는 단일 바인딩을 작성할 수 없습니다. 두 개의 바인딩이 필요합니다.
그러나 WSDL을 사용하면 포트 유형을 여러 바인딩에 매핑할 수 있습니다. 예를 들어 계약에 단일 포트 유형이 있는 경우 두 개 이상의 바인딩에 매핑할 수 있습니다. 각 바인딩은 메시지의 일부가 매핑되는 방식을 변경하거나 메시지에 대해 완전히 다른 페이로드 형식을 지정할 수 있습니다.
5.3. WSDL 요소
바인딩은 WSDL 바인딩
요소를 사용하여 계약에 정의됩니다. 바인딩 요소는 PortType에 대한 참조를 제공하는 바인딩 및 형식에
대한 고유 이름을 지정하는 name
과 같은 특성으로 구성됩니다. 이 속성의 값은 4장. 논리 인터페이스 정의 에서 설명한 대로 바인딩을 끝점과 연결하는 데 사용됩니다.
실제 매핑은 바인딩
요소의 자식에서 정의됩니다. 이러한 요소는 사용하려는 페이로드 형식 유형에 따라 다릅니다. 다양한 페이로드 형식 및 매핑을 지정하는 데 사용되는 요소는 다음 장에서 설명합니다.
5.4. 계약에 추가
Apache CXF는 사전 정의된 서비스 인터페이스에 대한 바인딩을 생성할 수 있는 명령줄 도구를 제공합니다.
이 도구는 귀하의 계약에 적절한 요소를 추가합니다. 그러나 다양한 유형의 바인딩 작동 방식에 대한 지식이 있는 것이 좋습니다.
텍스트 편집기를 사용하여 계약에 바인딩을 추가할 수도 있습니다. 계약을 직접 편집할 때 계약이 유효한지 확인할 책임이 있습니다.
5.5. 지원되는 바인딩
Apache CXF는 다음 바인딩을 지원합니다.
- SOAP 1.1
- SOAP 1.2
- CORBA
- 순수 XML