這是我開發Web服務的第一次嘗試。通過在用戶請求的上下文中發送登錄名和密碼(使用此示例:http://www.mkyong.com/webservices/jax-ws/application-authentication-with-jax-ws/),然後從每個WS方法調用驗證方法來實現身份驗證。但在這種情況下,用戶通知認證失敗的方式更好?拋出異常(SOAP錯誤)?或者還有其他更好的方法?用戶通知Web服務中認證失敗的方式比較好?
P.S.對不起,我的英語不好
這是我開發Web服務的第一次嘗試。通過在用戶請求的上下文中發送登錄名和密碼(使用此示例:http://www.mkyong.com/webservices/jax-ws/application-authentication-with-jax-ws/),然後從每個WS方法調用驗證方法來實現身份驗證。但在這種情況下,用戶通知認證失敗的方式更好?拋出異常(SOAP錯誤)?或者還有其他更好的方法?用戶通知Web服務中認證失敗的方式比較好?
P.S.對不起,我的英語不好
阿爾喬姆,
SOAP錯誤大致類似於程序異常,所以我會返回一個SOAP錯誤與
這給你兩全其美,簡約和的靈活性。只是說,在服務實現你趕上一個AuthenticationFailureException建設 「SOAP故障響應」 與
因此,在編程的時候,你已經得到了你需要看看到底出了什麼差錯,並在生產服務消費者(即表示層)一切負責處理SOAP錯誤,以便向用戶呈現適當的錯誤消息。確切地說,向用戶顯示的內容絕不應該是,特別是在故障情況下,確定爲服務。這顯然是表示層的責任。
還有一個改進方案......確保爲「認證服務當前不可用」場景使用單獨的異常類型(和soap-fault-code),以便用戶不會無情地繼續重試,他們忘記了密碼,或者被黑客攻擊了,或者其他什麼。
這是一篇很好的關於Using SOAP Faults的MSDN文章,它適用於Java和.NET Web服務。
乾杯。基思。