2011-05-16 3 views
2

VS 2010 (WCF)에 서비스 참조를 추가하려고합니다. 웹 서비스는 WS-정책을 사용하고 내가 서비스를 소비 할 때 내 app.confing의 customBindings 부분에 약간의 주석 코드를 얻을 :Visual Studio 2010 용 WSE 3을 설치해야합니까?

<!-- WsdlImporter encountered unrecognized policy assertions in ServiceDescription 'http://ws.TheirSite.com/WebServices/ResellerApiV1.wsdl': --> 
<!-- <wsdl:binding name='ResellerApiBinding'> --> 
<!--  <ns0:SupportingTokens xmlns:ns0="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">..</ns0:SupportingTokens> --> 

을하고 난 UsernameToken이 정보와 SOAP 헤더를 만들 수없는 것.

WSE 3.0을 설치해야하거나 4.0 Framework에 포함되어 있기 때문에 주석이 달린 섹션입니까?

수정 : 의견 주셔서 감사합니다. 호스트는 나에게 돌아 왔을 내가 (4.0 프레임 워크 내에서만 사용할 수있는 enableUnsecuredResponse주의 *)이 문제를 해결하려면이 보안 태그를 추가 할 필요가 말했다 :

<security authenticationMode="UserNameOverTransport" enableUnsecuredResponse="true" /> 

가 분명히의 app.config에서 주석 XML은 SupportingTokens 정책을 처리 할 수없는 VisualStudio WsdlImporter 도구 (svcutil.exe?)로 인해 발생하지만 위의 지시문을 추가하면 WS-Security UsernameToken이 SOAP 헤더에 삽입됩니다.

+2

WSE가 사용되지 않습니다 Visual Studio에서 WSE 3.0을 사용하려면 아래의 블로그를 따르십시오. 다른 선택이 없다면 사용하지 마십시오. WSE가 최종 WS-Policy 표준 (임시 제품)을 구현하지 않았기 때문에 문제가 발생한 것일 수 있습니다. –

+0

아하, 고마워. 설치하지 않았으며 서비스 참조를 추가하면 app.config에 코드 섹션이 표시됩니다. 왜 그런가? 감사합니다 –

+0

내가 말했듯이, 그 표준에 충실하지 않는 오래된 정책입니다 내기. –

답변

2

최근 몇 가지 이유에서 우리는 업그레이드 할 수없고 WSE를 사용해야하는 .NET 2.0 응용 프로그램이 있으므로 Visual Studio 2010에서 WSE 3.0을 지원해야했습니다 (선택이 아닌). 일부 "비표준"이유로 3.0.

Visual Studio에서 이전 Importer를 사용하여 WSDL 프록시를 생성하도록 할 수 있지만 WSE 3.0을 설치하고 구성을 일부 수정해야합니다. 그것은 모두 여기에 두 개의 블로그 게시물에 문서화 :

http://www.sanderstechnology.com/?p=10648

http://www.sanderstechnology.com/?p=10659