我在做一個相當有用的在線教程來創建一個使用mysql調用存儲過程的soap服務器。這工作得很好,我得到的代碼將使用像SoapUI這樣的程序正確響應。代碼如下:在java上使用SSL和SOAP,沒有servlet
@WebService
public class test {
@WebMethod
public String login(String username, String password) throws SQLException {
String url = "jdbc:mysql://localhost:3306/test";
String DBusername = "test";
String DBpassword = "test";
Connection con = DriverManager.getConnection(url, DBusername, DBpassword);
Statement stmt = null;
String query = " CALL authorize_user('" + username + "','" + password + "')";
try {
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String login = rs.getString("au_result");
if (login != null)
return login;
else {
return "Login Failed";
}
}
} catch (SQLException e) {
System.out.println("Error: " + e);
} finally {
if (stmt != null) {
stmt.close();
}
}
return "Login Failed";
}
public static void main(String[] args) {
test test = new test();
@SuppressWarnings("unused")
Endpoint endpoint = Endpoint.publish("http://localhost/testing", test);
}
}
所以,當你把一個用戶名和密碼是在數據庫中它會返回一個積極的結果這個工程。這是唯一的測試代碼,因爲可以將代碼注入到代碼中,但是很快就會改變。
但是我試圖找到一種方法來使用此服務器的SSL,我能夠找到的唯一信息是如何使用SSL時使用包裝程序或一些servlet包裝來創建肥皂服務器。我們現在不想這樣,除非我們能找到一個非常好的理由浪費時間學習新的代碼。如何在不使用任何第三方代碼的情況下爲此代碼使用SSL連接?我們已經從我們的常規網站服務器上運行的知名公司獲得了證書。
你見過這個:http://stackoverflow.com/questions/4621313/using-javax-xml-ws-endpoint-with-https? – efan
不要忘記在Connection上調用.close();) –