在II7上,我們託管了基於WCF/asp.net的API。爲了允許經典asp應用程序的用戶連接到API,我們必須發佈一個我們稱之爲「傳輸」的版本。這個傳輸版本也是在asp.net中編寫的,它指向相同的程序集,它的安全層不同於允許經典的asp進行身份驗證。使用傳輸級安全性而不是基於消息的安全性。Classic asp「驗證郵件安全性時發生錯誤。」 iis7傳輸級安全性
當使用瀏覽器加載服務引用時,我可以加載svcutil.exe ... WDSL頁面。
當使用我的測試asp網頁中調用從這個參考我碰到下面的返回Web方法:
完成調用Web服務。 狀態=內部服務器錯誤 ResponseText = a:驗證消息的安全性時發生InvalidSecurityAn錯誤。
這表明認證失敗。當使用asp.net或應用程序WCF風暴測試聯繫正常的API時,一切正常。
的API最近被遷移,它會出現的東西一直沒有設置正確,但我很茫然解釋什麼。
通過瀏覽器我得到的預期XML響應選擇它的時候,我可以瀏覽到svcutil.exe的... WDSL服務引用。
的用戶名和密碼利用工作使用利用基於消息的secuirty API的非傳統的ASP publicaiton時。
是否可以張貼一些故障排除提示,可以幫助diagnoise問題請特別是關於傳輸層安全性故障查找和安裝?
謝謝 斯科特
編輯補充以下更新:
試圖使用默認的應用程序池和一個新的應用程序池,但同樣的問題仍然存在。
我的測試頁面錯誤:responseText的= A:對於消息驗證安全性時發生錯誤InvalidSecurityAn。
IIS日誌顯示: V3 /運輸/ testclassicasptransportwcfservice.asp(200 0 0)(即IIS 200) /V3/Transport/DeviceService.svc/DeviceService(500 0 0)(即在iis誤差500)
注意:在TRANSPORT和V3上定義的虛擬目錄。 V3工作正常使用.NET,而不是經典的ASP進行身份驗證。
事件日誌: 由於存在以下錯誤,導致應用程序池'傳輸'的模板永久緩存初始化失敗:無法爲應用程序池創建磁盤緩存子目錄。數據可能有其他錯誤代碼。
該參考似乎表明一個修復,但許多DIR路徑和引用的「APPCMD」不存在。
_http://theether.net/kb/100127