4장. 논리 인터페이스 정의


초록

논리 서비스 인터페이스는 portType 요소를 사용하여 정의됩니다.

4.1. 개요

논리 서비스 인터페이스는 WSDL portType 요소를 사용하여 정의됩니다. portType 요소는 추상 작업 정의 컬렉션입니다. 각 작업은 작업이 나타내는 트랜잭션을 완료하는 데 사용되는 입력, 출력 및 오류 메시지에 의해 정의됩니다. portType 요소에서 정의한 서비스 인터페이스를 구현하기 위해 코드가 생성되면 각 작업은 계약에 지정된 입력, 출력 및 오류 메시지에 정의된 매개 변수를 포함하는 메서드로 변환됩니다.

4.2. 프로세스

WSDL 계약에 논리 인터페이스를 정의하려면 다음을 수행해야 합니다.

  1. 인터페이스 정의를 포함하는 portType 요소를 생성하고 고유한 이름을 지정합니다. “포트 유형”을 참조하십시오.
  2. 인터페이스에 정의된 각 작업에 대한 작업 요소를 생성합니다. “작업”을 참조하십시오.
  3. 각 작업에 대해 작업의 매개 변수 목록, 반환 유형 및 예외를 나타내는 데 사용되는 메시지를 지정합니다. “작업 메시지”을 참조하십시오.

4.3. 포트 유형

WSDL portType 요소는 논리 인터페이스 정의의 root 요소입니다. 많은 웹 서비스 구현은 portType 요소를 생성된 구현 오브젝트에 직접 매핑하지만 논리 인터페이스 정의는 구현된 서비스에서 제공하는 정확한 기능을 지정하지 않습니다. 예를 들어, ticketSystem이라는 논리 인터페이스는 구현 결과를 초래할 수 있으며, 구현 결과를 얻을 수 있습니다.

portType 요소는 정의된 서비스를 노출하는 끝점에서 사용하는 물리적 데이터를 정의하기 위해 바인딩에 매핑되는 WSDL 문서의 단위입니다.

WSDL 문서의 각 portType 요소에는 name 특성을 사용하여 지정되고 작업 요소에 설명된 작업 컬렉션으로 구성된 고유한 이름이 있어야 합니다. WSDL 문서는 임의의 수의 포트 유형을 설명할 수 있습니다.

4.4. 작업

WSDL 작업 요소를 사용하여 정의된 논리 작업은 두 끝점 간의 상호 작용을 정의합니다. 예를 들어, 계정 밸런스 확인 요청과 위젯의 Gross에 대한 주문은 둘 다 작업으로 정의할 수 있습니다.

portType 요소 내에 정의된 각 작업에는 name 특성을 사용하여 지정된 고유한 이름이 있어야 합니다. name 속성은 작업을 정의하는 데 필요합니다.

4.5. 작업 메시지

논리 작업은 작업을 실행하기 위해 끝점 간에 전달되는 논리 메시지를 나타내는 일련의 요소로 구성됩니다. 작업을 설명할 수 있는 요소는 표 4.1. “작업 메시지 요소” 에 나열됩니다.

표 4.1. 작업 메시지 요소
element설명

입력

요청 시 클라이언트 끝점이 서비스 공급자에게 보내는 메시지를 지정합니다. 이 메시지의 일부는 작업의 입력 매개 변수에 해당합니다.

출력

서비스 공급자가 요청에 대한 응답으로 클라이언트 끝점에 전송하는 메시지를 지정합니다. 이 메시지의 일부는 참조로 전달된 값과 같이 서비스 공급자가 변경할 수 있는 모든 작업 매개변수에 해당합니다. 여기에는 작업의 반환 값이 포함됩니다.

fault

끝점 간 오류 상태를 전달하는 데 사용되는 메시지를 지정합니다.

입력 또는 하나의 출력 요소를 하나 이상 보유하려면 작업이 필요합니다. 작업에는 inputoutput 요소가 모두 있을 수 있지만 각 요소 중 하나만 있을 수 있습니다. fault 요소가 필요한 것은 아니지만 필요한 경우 여러 fault 요소가 있을 수 있습니다.

요소에는 표 4.2. “입력 및 출력 요소의 속성” 에 나열된 두 가지 속성이 있습니다.

표 4.2. 입력 및 출력 요소의 속성
속성설명

name

작업을 구체적인 데이터 형식으로 매핑할 때 참조할 수 있도록 메시지를 식별합니다. 이름은 enclosing 포트 유형 내에서 고유해야 합니다.

message

전송 또는 수신 중인 데이터를 설명하는 추상 메시지를 지정합니다. 메시지 특성 값은 WSDL 문서에 정의된 추상 메시지 중 하나의 name 속성에 해당해야 합니다.

모든 입력출력 요소에 대한 name 속성을 지정할 필요는 없습니다. WSDL은 enclosing 작업의 이름을 기반으로 기본 이름 지정 체계를 제공합니다. 작업에 하나의 요소만 사용되는 경우 요소 이름은 기본적으로 작업 이름으로 설정됩니다. 입력출력 요소가 모두 사용되는 경우 요소 이름은 기본적으로 Request 또는 Response 가 이름에 각각 추가된 작업의 이름으로 설정됩니다.

4.6. 반환 값

작업 요소는 작업 중에 전달된 데이터의 추상적 정의이므로 WSDL은 작업에 대해 지정된 반환 값을 제공하지 않습니다. 메서드가 값을 반환하는 경우 해당 메시지의 마지막 부분으로 출력 요소에 매핑됩니다.

4.7. 예

예를 들어 예 4.1. “personalInfo 조회 인터페이스” 에 표시된 인터페이스와 유사한 인터페이스가 있을 수 있습니다.

예 4.1. personalInfo 조회 인터페이스

interface personalInfoLookup
{
  personalInfo lookup(in int empID)
  raises(idNotFound);
}

이 인터페이스는 예 4.2. “personalInfo 조회 포트 유형” 의 포트 유형에 매핑할 수 있습니다.

예 4.2. personalInfo 조회 포트 유형

<message name="personalLookupRequest">
  <part name="empId" element="xsd1:personalLookup"/>
<message/>
<message name="personalLookupResponse">
  <part name="return" element="xsd1:personalLookupResponse"/>
<message/>
<message name="idNotFoundException">
  <part name="exception" element="xsd1:idNotFound"/>
<message/>
<portType name="personalInfoLookup">
  <operation name="lookup">
    <input name="empID" message="tns:personalLookupRequest"/>
    <output name="return" message="tns:personalLookupResponse"/>
    <fault name="exception" message="tns:idNotFoundException"/>
  </operation>
</portType>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.