2009-11-03 162 views
1

我試圖消耗第三方web服務(從組件接口中的Peoplesoft),但爲了驗證我必須有一個頭,看起來像這樣:web服務安全頭

<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> 

我加了塊在我的應用程序中的web.config文件,該文件要使用的web服務如下:

<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請求到web服務。

我是否在正確的軌道?

回答

0

如果您使用.NET 2.0連接到該服務,最好的辦法是下載WSE 3.0(如果您使用的是.NET 1.1,則爲WSE 2.0)。

如果您使用WCF連接到服務,這裏有一個鏈接應該可以幫助您。這是關於適當的方式來實現在WCF的WS-Security標準:

Enterprise .NET Community: Security your WCF Services

+0

據我所知,以上都不是。我在Visual Studio 2008(.NET 3.5)中添加了一個Web引用。 – jhunter 2009-11-03 20:56:31

+0

然後,如果我沒有記錯,默認行爲應該是創建WCF綁定到Web服務。 – 2009-11-03 21:28:56