WCF(Windows Communication Foundation) 클라이언트는 WCF 클라이언트가 2004년 8월 버전의 WS-Addressing 사양을 사용하도록 구성된 경우 Microsoft .NET 서비스용 WSE(Web Services Enhancements) 3.0과 유선 수준으로 호환됩니다.
WSE 3.0 웹 서비스와 상호 운용하도록 WCF 클라이언트를 구성하려면
Service Metadata Utility Tool (SvcUtil.exe)을 실행하여 WSE 3.0 웹 서비스용 WCF 클라이언트를 만듭니다.
WSE 웹 서비스의 경우 WCF 클라이언트 클래스가 만들어집니다.
WCF 클라이언트 만들기에 대한 자세한 내용은 방법: Windows Communication Foundation 클라이언트 만들기를 참조하십시오.
WSE 3.0 웹 서비스와 통신할 수 있는 바인딩을 나타내는 클래스를 만듭니다.
다음 클래스는 Interoperating with WSE 샘플의 일부입니다.
- Binding 클래스에서 파생되는 클래스를 만듭니다.
다음 코드 예제에서는 Binding 클래스로부터 파생되는WseHttpBinding이라는 클래스를 만듭니다. - WSE 턴키 어설션, 파생된 키가 필요한지 여부, 보안 세션이 사용되는지 여부, 서명 확인이 필요한지 여부 및 메시지 보호 설정을 지정하는 클래스에 속성을 추가합니다.
다음 코드 예제에서는 WSE 턴키 어설션, 파생된 키가 필요한지 여부, 보안 세션이 사용되는지 여부, 서명 확인이 필요한지 여부 및 메시지 보호 설정을 각각 지정하는SecurityAssertion,RequireDerivedKeys, EstablishSecurityContext, MessageProtectionOrder속성을 정의합니다. - CreateBindingElements 메서드를 재정의하여 바인딩 속성을 설정합니다.
다음 코드 예제에서는SecurityAssertion및MessageProtectionOrder속성의 값을 가져옴으로써 전송, 메시지 인코딩, 메시지 보호 설정을 지정합니다.
- Binding 클래스에서 파생되는 클래스를 만듭니다.
클라이언트 응용 프로그램 코드에서 바인딩 속성을 설정하기 위해 코드를 추가합니다.
다음 코드 예제에서는 WSE 3.0 AnonymousForCertificate 턴키 보안 어설션에 정의된 대로 WCF 클라이언트가 반드시 메시지 보호 및 인증을 사용하도록 지정합니다. 또한 보안 세션 및 파생된 키도 필요합니다.
예제
다음 코드 예제에서는 WSE 3.0 턴키 보안 어설션의 속성에 해당하는 속성을 노출하는 사용자 지정 바인딩을 정의합니다. WseHttpBinding이라는 사용자 지정 바인딩을 사용하여 WCF 클라이언트에 대한 바인딩 속성을 지정합니다.