2009-11-03 4 views
1

Я пытаюсь потреблять веб-сервис третьего лица (от интерфейса компонента в Peoplesoft), но и для того, чтобы аутентифицировать я должен иметь заголовок, который выглядит следующим образом:Webservice с заголовками безопасности

<soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 

    <wsse:Security soap:mustUnderstand="1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">  
     <wsse:UsernameToken>  
     <wsse:Username>X</wsse:Username>  
     <wsse:Password>X</wsse:Password>  
     </wsse:UsernameToken>  
    </wsse:Security>  
    </soapenv:Header> 

I добавлен блок в файл web.config в моем приложении, который пытается использовать веб-сервис следующим образом:

<system.serviceModel> 
     <client> 
      <header> 
       <endpoint> 
        <wsse:Security soap:mustUnderstand="1" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> 
         <wsse:UsernameToken> 
          <wsse:Username>X</wsse:Username> 
          <wsse:Password>X</wsse:Password> 
         </wsse:UsernameToken> 
        </wsse:Security> 
       </endpoint> 
      </header> 
     </client> 
</system.serviceModel> 

Но заголовок еще не отображается в запросе XML на веб-сервис.

Я даже на правильном пути?

ответ

0

Если вы используете .NET 2.0 для подключения к службе, лучше всего загрузить WSE 3.0 (WSE 2.0, если вы используете .NET 1.1).

Если вы используете WCF для подключения к службе, вот ссылка, которая должна помочь вам на вашем пути. Речь идет о правильном пути для внедрения стандарта WS-Security в WCF:

Enterprise .NET Community: Security your WCF Services

+0

Насколько я знаю, ничего из вышеперечисленного. Я добавил веб-ссылку в Visual Studio 2008 (.NET 3.5). – jhunter

+0

Затем, если я правильно помню, поведение по умолчанию должно заключаться в создании привязок WCF к веб-службе. –