Web Services using AXIS2 - 04 - C

0

No comments posted yet

Comments

Slide 1

Web Services using apache axis2 報告人:高明權 DATE :2010/05/30 Released V1.00 BLOG:http://tommykao.blogspot.com EMAIL : MCK6214@gmail.com

Slide 2

Web Services Agenda Background Case 01: Say Hello, pojo Case 02: File Upload & Download Case 03: Using the SoapMonitor module Case 04: SSL Transport Security Case 05: Message Level Security Case 06: Customized Module Case 07: Stateful Case 08: Clustering 2 著作人:高明權

Slide 3

Case 04-C: SSL Transport Security with basic auth. Sample code: webservices_workspace_03_C.zip 3 著作人:高明權

Slide 4

BasicAuth Callback Handler class package sample.webservice.case04; import org.apache.ws.security.WSPasswordCallback; import javax.security.auth.callback.*; import java.io.IOException; public class BasicAuthCallbackHandler implements CallbackHandler { public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (Callback callback : callbacks) { // When the server side need to authenticate the user WSPasswordCallback pwcb = (WSPasswordCallback) callback; if (pwcb.getUsage() == WSPasswordCallback.USERNAME_TOKEN_UNKNOWN) { if (isValidUser(pwcb.getIdentifier(),pwcb.getPassword())) { return; // If authentication successful, simply return } else { throw new UnsupportedCallbackException(callback,"check failed"); } } } } private boolean isValidUser(String id, String password) {…} } 著作人:高明權 4 About BasicAuth 一般性的 Web Services 的安全驗證方案。 只有通過驗證的 Client 端才能使用對應的服務。

Slide 5

Basic Authentication Policy Edit META-INF\Services.xml add BasicAuth Policy inside the service tag (<service>…</service>) 著作人:高明權 5

Slide 6

Test the StockQuote Web Service with Basic Authentication 1/2 用 SoapUI 連線測試 建立新專案,選擇 [File]/[New soapUI Project] 專案名稱 : StockQuoteService WSDL路徑 : http://localhost:8080/axis2/services/StockQuoteService?wsdl 展開服務項目並著手編輯 soap request message 注意: 必須指定使用者帳號&密碼 送出 soap request message,並檢視回傳結果。 若沒有指定使用者帳號、密碼,將會回覆異常 (Fault Msg : UsernameToken missing in request) 著作人:高明權 6

Slide 7

Test the StockQuote Web Service with Basic Authentication 2/2 執行 wsdl2java 產生 Client 端程式 指令:%AXIS2_HOME%\bin\wsdl2java.bat -p sample.webservice.case04.client -o client -uri http://localhost:8080/axis2/services/StockQuoteService?wsdl 撰寫並執行測試程式 著作人:高明權 7

Slide 8

參考資料 JAVA Cryptography Apache Rampart Knowledge Base 著作人:高明權 8

Slide 9

以上為基礎,務必照表操課 Know-How, ExAct, Knowledge

URL: