我必須通過WCF使用HTTP基本認證來使用3個Web服務(Sharepoint/Alfresco/Documentum CMIS)。WCF基本認證服務,不發送401但是500代替
隨着Sharepoint或Alfresco,第一個請求去沒有授權標題,收到HTTP 401
,由WCF與頭自動重試,一切都很好。
但與Documentum,我收到HTTP 500
和一個SOAP Fault,所以WCF永遠不會有機會發送頭並按原樣返回異常。
我當然可以通過HttpRequestMessageProperty
手動添加標題,但這看起來像是一個醜陋的黑客給我。是否有任何可以在WCF端上配置的第一個請求發送標頭,或在Documentum方面返回401?
你的問題沒有說明WCF是用在客戶端還是服務器端,但我假設客戶端。現在,HTTP 500是一個服務器端錯誤。它不應該作爲響應發送,指示需要身份驗證,並且如果服務器正在這樣做,則會被破壞。如果由於某些其他原因正在發送500錯誤,則服務器已損壞。所以我建議這個問題的修復不在客戶端(在WCF中)。它位於Documentum的服務器端,因爲無論客戶端輸入如何,服務器都不應該發出500,除非遇到錯誤。 – Cheeso
是的,WCF位於客戶端。遺憾的是,(幾乎)沒有人會升級他們的Documentum安裝,因爲a)它花費大量金錢,並且b)擔心打破現有部署,所以我必須找到客戶端解決方法。 – wizzard0