Share via


시스템 제공 상호 운용성 바인딩에서 지원하는 웹 서비스 프로토콜

WCF(Windows Communication Foundation)는 웹 서비스 사양이라고 하는 사양 집합을 지원하는 웹 서비스와 상호 운용되도록 빌드되었습니다. 최선의 상호 운용성 방법을 위해 서비스 구성을 단순화하기 위해 WCF에서는 상호 운용 가능한 시스템 제공 바인딩인 System.ServiceModel.BasicHttpBinding, System.ServiceModel.WSHttpBindingSystem.ServiceModel.WSDualHttpBinding을 도입했습니다. OASIS(Organization for the Advancement of Structured Information Standards) 표준과의 상호 운용성을 위해 WCF에는 System.ServiceModel.WS2007HttpBinding이라는 하나의 상호 운용 가능한 시스템 제공 바인딩이 포함되어 있습니다. 메타데이터 게시를 위해 WCF에는 상호 운용 가능한 두 가지 시스템 제공 바인딩인 <mexHttpBinding><mexHttpsBinding>이 포함되어 있습니다. 이 항목에서는 시스템에서 제공하는 상호 운용 가능한 바인딩이 지원하는 사양을 나열합니다.

basicHttpBinding, wsHttpBinding, ws2007HttpBinding 및 wsDualHttpBinding Bindings에서 지원하는 웹 서비스 프로토콜

모든 바인딩

<basicHttpBinding>, <wsHttpBinding><ws2007HttpBinding> 바인딩은 다음 프로토콜을 지원합니다.

참고 항목

메타데이터 게시에 사용하는 바인딩에 대한 자세한 내용은 이 항목의 뒷부분에 나오는 "시스템 제공 메타데이터 바인딩" 단원을 참조하십시오.

범주 프로토콜 사양 및 사용
전송 HTTP 1.1 HTTP 1.1

BasicHttpBinding, WSHttpBindingWS2007HttpBinding은 HTTP 및 HTTPS 전송을 사용합니다.
메시지 MTOM MTOM

basicHttpBinding, wsHttpBindingws2007HttpBinding은 MTOM(Message-Transmission Optimization Mechanism)을 지원합니다. 기본적으로 사용되지 않으며 MTOM을 사용하려면 messageEncoding 특성을 "Mtom"으로 설정하십시오.

예시:

<wsHttpBinding> <binding messageEncoding="Mtom"/> </wsHttpBinding>
메타데이터 WSDL 1.1 WSDL 1.1

WCF에서는 WSDL(웹 서비스 기술 언어)을 사용하여 서비스를 설명합니다.
메타데이터 WS-Policy WS-Policy

WCF에서는 WS-Policy 사양을 도메인별 어설션과 함께 사용하여 서비스 요구 사항 및 기능에 대해 설명합니다.
메타데이터 WS-Policy 1.5 WS-Policy 1.5

WCF에서는 WS-Policy 사양을 도메인별 어설션과 함께 사용하여 서비스 요구 사항 및 기능에 대해 설명합니다.
메타데이터 WS-PolicyAttachment WS-PolicyAttachment

WCF에서는 WS-PolicyAttachment를 구현하여 WSDL(웹 서비스 기술 언어)에서 다양한 범위의 정책 식을 연결합니다.
메타데이터 WS-MetadataExchange WS-MetadataExchange

WCF에서는 WS-MetadataExchange를 구현하여 XML 스키마, WSDL 및 WS-Policy를 검색합니다.

basicHttpBinding

범주 프로토콜 사양 및 사용
메시지 SOAP 1.1 SOAP 1.1

Basic Profile 1.1에 따라 basicHttpBinding 요소는 SOAP 1.1 메시지 프로토콜을 구현합니다.
보안 WSS SOAP Message Security 1.0 WSS SOAP Message Security 1.0

기본 보안 프로필에 따라 basicHttpBinding 요소는 사용자 이름/암호 및 X.509 기반 보안을 위해 WSS(Web Services Security) SOAP Message Security 1.0 사양을 구현합니다.

<basicHttpBinding> <binding name="Binding1"> <security mode="TransportWithMessageCredential &#124; "Message" .../> </binding> </basicHttpBinding>
보안 WSS SOAP Message Security UsernameToken Profile 1.0 WSS SOAP Message Security UsernameToken Profile 1.0

<basicHttpBinding> <binding name="Binding1"> <security mode="TransportWithMessageCredential"> <transport clientCredentialType="Basic"/> </security> </basicHttpBinding>
보안 WSS SOAP Message Security X.509 Certificate Token Profile 1.0 WSS SOAP Message Security X.509 Certificate Token Profile 1.0

<basicHttpBinding> <security mode="Message"> <message clientCredentialType="Certificate"/> </security> </basicHttpBinding>

wsHttpBinding, ws2007HttpBinding 및 wsDualHttpBinding

범주 프로토콜 사양 및 사용
메시지 SOAP 1.2 주요 내용

Messaging framework

Adjuncts(HTTP 바인딩 포함)
메시지 WS-Addressing 2005/08 Web Services Addressing 1.0 - Core

Web Services Addressing 1.0 - SOAP

wsHttpBinding, ws2007HttpBindingwsDualHttpBinding은 W3C(World Wide Web Consortium) WS-Addressing 권장 사항을 구현하여 비동기 메시징, 메시지 상관 관계 및 전송 중립적 주소 지정 메커니즘을 사용할 수 있습니다.

WS-* 규격에서 WS-Addressing 헤더의 암호화를 허용하지만 WCF는 이를 지원하지 않습니다.
메시지 WS-Addressing 1.0 - Metadata WS-Addressing 1.0 메타데이터 이 프로토콜에 대한 지원은 ServiceMetadata 동작에서 정책 버전을 설정하여 사용하도록 설정됩니다. 정책 버전이 1.2(기본값)로 설정되어 있고 wsdl 설명은 정책 버전이 설정된 WS-Addressing wsdl을 준수합니다. 1.5부터 wsdl 설명은 ws 주소 지정 메타데이터와 호환됩니다.

WS-* 규격에서 WS-Addressing 헤더의 암호화를 허용하지만 WCF는 이를 지원하지 않습니다.
보안 WSS SOAP Message Security 1.0 WSS SOAP Message Security 1.0

securityMode 특성이 "wsSecurityOverHttp"(기본값)로 설정되어 있고 매개 변수가 wsSecurity 자식 요소를 사용하여 구성되어 있을 경우 사용합니다.

<wsHttpBinding> <binding name="myBinding"> <security mode="Message" .../> </binding> </wsHttpBinding>
보안 WSS SOAP Message Security UsernameToken Profile 1.1 WSS SOAP Message Security UsernameToken Profile 1.0

wsSecurity 요소의 authenticationMode 특성이 "Username"으로 설정된 경우 사용합니다.

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="UserName negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>
보안 WSS SOAP Message Security X.509 Certificate Token Profile 1.1 WSS SOAP Message Security X.509 Certificate Token Profile 1.1

wsSecurity 요소의 authenticationMode 특성이 "Username", "Certificate" 또는 "None"으로 설정된 경우 메시지 보호를 위해 사용합니다. 또한 wsSecurity 요소의 authenticationMode 특성이 "Certificate"으로 설정된 경우 클라이언트 인증을 위해 이를 사용합니다.

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Certificate" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>
보안 WSS SOAP Message Security Kerberos Token Profile 1.1 WSS SOAP Message Security Kerberos Token Profile 1.1

wsSecurity 요소의 authenticationMode 특성이 "Windows"로 설정된 경우 인증 및 메시지 보호를 위해 사용합니다.

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Windows" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>
보안 WS-SecureConversation WS-SecureConversation

security/@mode 특성이 "Message"로 설정되어 있고 message/@establishSecurityContext 특성이 "true"(기본값)로 설정된 경우 보안 세션을 제공하기 위해 사용합니다.
보안 WS-Trust WS-Trust

WS-SecureConversation에 의해 사용됩니다(위 참조).
신뢰할 수 있는 메시징 WS-ReliableMessaging WS-ReliableMessaging

reliableSession 사용을 위해 바인딩을 구성할 때 사용합니다.

<wsHttpBinding> <binding name="myBinding"> <reliableSession/> </binding> </wsHttpBinding>
트랜잭션 WS-AtomicTransaction WS-AtomicTransaction

트랜잭션 관리자간 통신에 사용합니다. WCF 클라이언트와 서비스는 항상 로컬 트랜잭션 관리자를 사용합니다.
트랜잭션 WS-Coordination WS-Coordination

flowTransactions 특성이 "Allowed" 또는 "Required"로 설정된 경우 트랜잭션 컨텍스트 이동을 위해 사용합니다.

<wsHttpBinding> <binding transactionFlow="true"/> </wsHttpBinding>

wsFederationHttpBinding 및 ws2007FederationHttpBinding

<wsFederationHttpBinding><ws2007FederationHttpBinding> 요소는 제3자가 클라이언트를 인증하는 데 사용되는 토큰을 발급하는 페더레이션 시나리오를 지원하기 위해 도입되었습니다. . wsHttpBinding에서 사용하는 프로토콜과 함께 wsFederationHttpBinding에서 사용합니다.

  • 토큰 발급에 대한 WS-Trust입니다.

  • 가장 일반적으로 발급되는 토큰 형식에 대한 WSS SAML(Security Assertions Markup Language) Token Profile 1.0 및 1.1입니다.

예시:

<wsFederationHttpBinding>
  <binding name="myBinding">
     <security mode="Message">
       <message issuedKeyType="Symmetric"
                issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1">
         <issuerMetadata address =
         'http://localhost/FederationSample/HomeRealmSTS/STS.svc/mex'/>
       </message>
     </security>
  </binding>
</wsFederationHttpBinding>

자세한 내용은 페더레이션을 참조하세요.

시스템 제공 메타데이터 바인딩

다음 표에서는 System.ServiceModel.Description.MetadataExchangeBindings 클래스에 의해 노출된, 시스템에서 제공하는 상호 운용 가능 메타데이터 바인딩에서 지원하는 프로토콜에 대해 설명합니다.

mexHttpBinding

<mexHttpBinding> 바인딩은 다음 프로토콜을 지원합니다. 이 바인딩 사용에 대한 자세한 내용은 메타데이터 게시를 참조하세요.

범주 프로토콜 사양 및 사용
전송 HTTP 1.1 HTTP 1.1
메시지 SOAP 1.2 주요 내용

Messaging framework

Adjuncts(HTTP 바인딩 포함)
메시지 WS-Addressing 2005/08 Web Services Addressing 1.0 - Core

Web Services Addressing 1.0 - SOAP
메타데이터 WS-MetadataExchange WS-MetadataExchange

WCF에서는 WS-MetadataExchange를 구현하여 XML 스키마, WSDL 및 WS-Policy를 검색합니다.

mexHttpsBinding

<mexHttpsBinding>은 다음 프로토콜을 지원합니다. 이 바인딩 사용에 대한 자세한 내용은 메타데이터 게시를 참조하세요.

범주 프로토콜 사양 및 사용
전송 HTTP 1.1 HTTP 1.1

전송 보안을 사용합니다.
메시지 SOAP 1.2 주요 내용

Messaging framework

Adjuncts(HTTP 바인딩 포함)
메시지 WS-Addressing 2005/08 Web Services Addressing 1.0 - Core

Web Services Addressing 1.0 - SOAP
메타데이터 WS-MetadataExchange WS-MetadataExchange

WCF에서는 WS-MetadataExchange를 구현하여 XML 스키마, WSDL 및 WS-Policy를 검색합니다.

참고 항목