我有一個來自我們客戶公司的.WSDL文件,我需要使用它來調用Web服務。他們的系統是SAP(SAP PI)。我的應用程序是在VS 2008中開發的C#.NET 3.5客戶端。我使用他們提供的.WSDL文件在Visual Studio中添加了Service Reference。這爲我創建了一個引用類來調用他們的服務,併爲我設置了app.config文件中的幾個綁定。從Web服務遇到未經授權的身份驗證方案
我沒有更改app.config文件中的任何內容,但確實創建了調用其Web服務的代碼。但是,當我打電話給他們的web服務時,我收到以下異常:
HTTP請求未經客戶端身份驗證方案「匿名」的授權。從服務器收到的身份驗證標頭爲'Basic realm =「SAP NetWeaver Application Server ...」'。
(我稍微修改了「基本境界」一節中使用,從而給不給它。字符串)
難道在app.config沒有得到從WSDL正確建?我是否應該修改app.config文件?
事情我已經嘗試:
- 在app.config中改變authenticationScheme從匿名到基本
(以及其他所有身份驗證類型)中的app.config - 改變境界字符串匹配在異常消息境界
- 設置的用戶名/密碼在ClientCredentials.Username對象字段在我的代碼
任何指針或幫助將不勝感激。
編輯:經過一些調查,我發現,Visual Studio中有關於擴展元素政策和策略斷言幾個警告:
- 自定義工具警告:從命名空間中的可選WSDL擴展元素「政策」 「 http://schemas.xmlsoap.org/ws/2004/09/policy'不是 處理。
- 自定義工具警告:以下策略斷言未導入:
XPath:// wsdl:definitions [@ targetNamespace ='urn:sap-com:document:sap:rfc:functions']/wsdl:binding [名稱= Binding_FieldValidation'] 斷言:...
我不是能夠找到,如果這是與認證方案相關或不以我目前的問題。它似乎是相關的,但我還沒有找到任何解決方案來解決這些政策警告。看來WCF不能很好地處理wsdl中的語句。