웹 서비스 주소 지정 개요
웹 서비스 주소 지정(WS-Addressing)은 웹 서비스를 주소 지정하고 메시지의 주소 지정 정보를 제공하는 표준 방법을 정의하여 웹 서비스 사이의 상호 운용성을 보조하는 W3C(World Wide Web Consortium) 스펙입니다. WS-Addressing 스펙은 두 가지 기본 개념인 엔드포인트 참조 및 메시지 주소 지정 특성을 소개합니다. 자세한 내용은 WS-Addressing 스펙을 참조하십시오.
엔드포인트 참조
엔드포인트 참조는
특정 엔드포인트에 대한 정보를 캡슐화하는 표준 메커니즘을 제공합니다.
엔드포인트 참조는 기타 파티로 전파한 다음 표시하는 웹 서비스
엔드포인트를 대상화하는 데 사용할 수 있습니다.
다음 테이블은 엔드포인트 참조에 대한
정보 모델을 요약합니다.
다음 접두부 및 해당 네임스페이스는 이전 테이블에
사용됩니다.
추상 특성 이름, W3C XML 정보 세트 표기법 규칙 사용 | 특성 유형 | 중복 | 설명 |
---|---|---|---|
[address] | xs:anyURI | 1..1 | 엔드포인트의 주소를 지정하는 절대 URI. |
[reference parameters]* | xs:any | 0..무제한 | 엔드포인트와 대화하는 데 필요한 네임스페이스 규정 요소 정보 항목. |
[metadata] | xs:any | 0..무제한 | 엔드포인트의 동작, 정책 및 기능에 대한 설명. |
접두부 | 네임스페이스 |
---|---|
xs | http://www.w3.org/2001/XMLSchema |
다음 XML 단편은 엔드포인트 참조을 나타냅니다.
이 요소는 URI http://example.com/fabrikam/acct의 엔드포인트를 참조하고,
엔드포인트 참조가 참조하는 인터페이스를 지정하는 메타데이터를 가지고 있으며,
http://example.com/fabrikam
네임스페이스의 애플리케이션 정의 참조 매개변수를 가지고 있습니다.
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:fabrikam="http://example.com/fabrikam"
xmlns:wsdli="http://www.w3.org/2005/08/wsdl-instance"
wsdli:wsdlLocation="http://example.com/fabrikam
http://example.com/fabrikam/fabrikam.wsdl">
<wsa:Address>http://example.com/fabrikam/acct</wsa:Address>
<wsa:Metadata>
<wsam:InterfaceName>fabrikam:Inventory</wsam:InterfaceName>
</wsa:Metadata>
<wsa:ReferenceParameters>
<fabrikam:CustomerKey>123456789</fabrikam:CustomerKey>
<fabrikam:ShoppingCart>ABCDEFG</fabrikam:ShoppingCart>
</wsa:ReferenceParameters>
</wsa:EndpointReference>
메시지 주소 지정 특성
MAP는
SOAP 헤더의 요소로 표시할 수 있으며 메시지에 대한 응답의
방향을 지정해야 하는 엔드포인트 또는 이 메시지와 기타 메시지의 관계에 대한
정보와 같은 정보를 전달하는 표준 방법을 제공하는
잘 정의된 WS-Addressing 특성 세트입니다. WS-Addressing 스펙에 정의된
MAP는 다음 테이블에 요약됩니다.
이전 테이블의 추상 이름은 이 문서에서 MAP를 참조하는 데
사용됩니다.
추상 WS-Addressing MAP 이름, W3C XML 정보 세트 표기법 규칙 사용 | MAP 컨텐츠 유형 | 중복 | 설명 |
---|---|---|---|
[action] | xs:anyURI | 1..1 | 메시지의 시맨틱을 고유하게 식별하는 절대 URI. 이 특성은 메시지가 주소 지정되는 엔드포인트 참조의 address 특성과 일치합니다. 이 값은 필수입니다. |
[destination] | xs:anyURI | 1..1 | 이 메시지의 계획된 수신자의 주소를 지정하는 절대 URI. 이 값이 없는 경우 스펙에 정의된 익명 URI가 기본값이 되기 때문에(기본 프로토콜로 주소가 정의됨을 나타냄) 이 값은 선택적입니다. |
[reference parameters]* | xs:any | 0..무제한 | 메시지가 주소 지정되는 엔드포인트 참조의 reference parameters 특성과 일치합니다. 이 값은 선택적입니다. |
[source endpoint] | EndpointReference | 0..1 | 메시지가 비롯된 엔드포인트에 대한 참조. 이 값은 선택적입니다. |
[reply endpoint] | EndpointReference | 0..1 | 이 메시지에 대한 응답의 계획된 수신자에 대한 엔드포인트 참조. 이 값은 선택적입니다. |
[fault endpoint] | EndpointReference | 0..1 | 이 메시지에 관련된 결함의 계획된 수신자에 대한 엔드포인트 참조. 이 값은 선택적입니다. |
[relationship]* | xs:anyURI 및 xs:anyURI 유형의 선택적 속성 | 0..무제한 | 이 메시지가 다른 메시지에 관련된 방식을 나타내는 값 쌍. 이 요소의 컨텐츠는 관련된 메시지의 message ID를 전달합니다. 선택적 속성은 관계 유형을 전달합니다. 이 값은 선택적입니다. |
[message id] | xs:anyURI | 메시지를 고유하게 식별하는 절대 URI. 이 값은 선택적입니다. |
다음 예 SOAP 메시지는
WS-Addressing MAP을 포함합니다.
<S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:fabrikam="http://example.com/fabrikam">
<S:Header>
...
<wsa:To>http://example.com/fabrikam/acct</wsa:To>
<wsa:ReplyTo>
<wsa:Address> http://example.com/fabrikam/acct</wsa:address>
</wsa:ReplyTo>
<wsa:Action>...</wsa:Action>
<fabrikam:CustomerKey wsa:IsReferenceParameter='true'>123456789</fabrikam:CustomerKey>
<fabrikam:ShoppingCart wsa:IsReferenceParameter='true'>ABCDEFG</fabrikam:ShoppingCart>
...
</S:Header>
<S:Body>
...
</S:Body>
</S:Envelope>