2010-08-16 74 views

回答

0

我會說這是可能取決於Web服務如何期望你傳遞的信息。畢竟,你只是消費者。

話雖如此,Web服務通常在SOAP Header中傳遞用戶標識和密碼。

您可以參考這個link對於這種情況

樣品SOAP消息的樣本實現

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Header> 
    <AUTHHEADER xmlns="http://tempuri.org/"> 
     <USERNAME>string</USERNAME> 
     <PASSWORD>string</PASSWORD> 
    </AUTHHEADER> 
    </soap:Header> 
    <soap:Body> 
    <SENSITIVEDATA xmlns="http://tempuri.org/" /> 
    </soap:Body> 
</soap:Envelope> 
21

在配置文件中配置基本身份驗證?你需要通過憑證還是需要安全傳輸(HTTPS)?

首先,你需要設置綁定到支持基本身份驗證

設置爲HTTP綁定:

<bindings> 
    <basicHttpBinding> 
    <binding name="BasicAuth"> 
     <security mode="TransportCredentialOnly"> 
     <transport clientCredentialType="Basic" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings> 

設置爲HTTPS綁定:

<bindings> 
    <basicHttpBinding> 
    <binding name="BasicAuthSecured"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Basic" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings> 

客戶端點必須使用定義的配置如:

<client> 
    <endpoint address="..." 
      name="..." 
      binding="basicHttpBinding" 
      bindingConfiguration="BasicAuth" 
      contract="..." /> 
</client> 

然後,你必須憑據傳遞到代理:

proxy = new MyServiceClient(); 
proxy.ClientCredentials.UserName.UserName = "..."; 
proxy.ClientCredentials.UserName.Password = "..."; 
相關問題