5장. WSDL의 바인딩 이해

초록

바인딩은 서비스를 정의하는 데 사용되는 논리 메시지를 엔드포인트에서 전송 및 수신할 수 있는 구체적인 페이로드 형식으로 매핑합니다.

5.1. 개요

바인딩은 서비스에서 사용하는 논리 메시지 사이의 브리지를 물리적 세계에서 사용하는 구체적인 데이터 형식으로 제공합니다. 이는 논리 메시지가 끝점에 의해 유선에서 사용되는 페이로드 형식으로 매핑되는 방법을 설명합니다. 매개 변수 순서, 구체적인 데이터 형식 및 반환 값 같은 세부 정보가 지정된 바인딩 내에 있습니다.It is within the bindings that details such as parameter order, specific data types, and return values are specified. 예를 들어 메시지의 일부는 RPC 호출에 필요한 순서를 반영하도록 바인딩에서 다시 정렬할 수 있습니다.For example, the parts of a message can be reordered in a binding to reflect the order required by an RPC call. 바인딩 유형에 따라 메서드의 반환 유형을 나타내는 메시지 부분(▂ 있는 경우)을 식별할 수도 있습니다.Depending on the binding type, you can also identify which of the message parts, if any, represent the return type of a method.

5.2. 포트 유형 및 바인딩

포트 유형 및 바인딩은 직접 관련이 있습니다. 포트 유형은 두 논리 서비스 간의 상호 작용 집합에 대한 추상 정의입니다. 바인딩은 논리 서비스를 구현하는 데 사용되는 메시지가 물리적 세계에서 인스턴스화되는 방법에 대한 구체적인 정의입니다. 그러면 각 바인딩이 포트 유형에서 정의한 논리 서비스를 노출하는 끝점의 정의를 완료하는 네트워크 세부 정보 집합과 연결됩니다.

endpoint가 단일 서비스만 정의하도록 하기 위해 WSDL은 바인딩이 단일 포트 유형만 나타낼 수 있어야 합니다. 예를 들어 두 포트 유형과 계약을 체결한 경우 두 포트 유형을 모두 매핑하는 단일 바인딩을 구체적인 데이터 형식으로 작성할 수 없었습니다. 두 개의 바인딩이 필요합니다.

그러나 WSDL은 포트 유형을 여러 바인딩에 매핑할 수 있습니다. 예를 들어 계약에 단일 포트 유형이 있는 경우 둘 이상의 바인딩에 매핑할 수 있습니다. 각 바인딩은 메시지의 일부가 매핑되는 방식을 변경하거나 메시지에 대해 완전히 다른 페이로드 형식을 지정할 수 있습니다.

5.3. WSDL 요소

바인딩은 WSDL 바인딩 요소를 사용하여 계약에 정의됩니다. 바인딩 요소는 PortType에 대한 참조를 제공하는 바인딩 및 형식에 대한 고유 이름을 지정하는 등의 특성으로 구성됩니다. 이 속성의 값은 4장. 논리 인터페이스 정의 에서 설명한 대로 바인딩을 엔드포인트와 연결하는 데 사용됩니다.

실제 매핑은 바인딩 요소의 자식에서 정의됩니다. 이러한 요소는 사용하기로 결정한 페이로드 형식의 유형에 따라 달라집니다. 다양한 페이로드 형식과 매핑을 지정하는 데 사용되는 요소는 다음 장에서 설명합니다.

5.4. 계약에 추가

Apache CXF는 사전 정의된 서비스 인터페이스에 대한 바인딩을 생성할 수 있는 명령줄 도구를 제공합니다.

이 도구는 귀하의 계약에 적절한 요소를 추가합니다. 그러나 다양한 유형의 바인딩 작동 방식에 대한 지식이 있는 것이 좋습니다.

텍스트 편집기를 사용하여 계약에 바인딩을 추가할 수도 있습니다. 직접 계약을 편집하면 계약이 유효한지 확인할 책임이 있습니다.

5.5. 지원되는 바인딩

Apache CXF는 다음 바인딩을 지원합니다.

  • SOAP 1.1
  • SOAP 1.2
  • CORBA
  • 순수 XML