2010-03-08 81 views
0

我想將一些基於WSE3.0的代碼移植到WCF中。基本上,舊的代碼具有以下配置:什麼是WCF等值?

<microsoft.web.services3> 
    <diagnostics> 
     <trace enabled="true" input="InputTrace.webinfo" output="OutputTrace.webinfo" /> 
    </diagnostics> 
    <tokenIssuer> 
     <statefulSecurityContextToken enabled="false" /> 
    </tokenIssuer> 
</microsoft.web.services3> 

當調用通過我的「服務引用」一樣的服務,我得到這個錯誤:

請求不包含所需的安全頭

我的綁定是這樣的:

<basicHttpBinding> 
    <binding name="LegalUnitGetBinding" closeTimeout="00:01:00" openTimeout="00:01:00" 
       receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" 
       bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
       maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
       messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
       useDefaultWebProxy="true"> 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <security mode="Transport"> 
       </security> 
    </binding> 
</basicHttpBinding> 

從我所瞭解的服務我呼喚g僅需要SSL連接,因爲它接收用戶名和密碼作爲請求參數的一部分。

任何幫助或建議將不勝感激。

回答

1

你將不得不在客戶端傳遞證書並在服務器端驗證它們,我猜你正在使用IIS來託管?不要重複 - 這是一個MVP post,應該讓你指出正確的方向。

,將讓你在你的配置文件想關鍵的變化:

<security mode="TransportWithMessageCredential"> 
... 
</security> 
+0

好了,我打電話給該服務是由公職託管Java服務,我也沒有任何的洞察力與問候其實施。不用說,他們的文檔幾乎不存在。我可以使用WSE3.0從.net 2.0中調用它,而無需在客戶端上設置任何憑據。 – 2010-03-09 08:56:09