Я следовал довольно полезному онлайн-учебному пособию по созданию мыльного сервера, который использовал mysql для вызова хранимой процедуры. Это работало довольно хорошо, и я получил код, который бы корректно ответил на использование программы, такой как SoapUI. Код, как показано ниже:Использование SSL с мылом на Java, без сервлета
@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 при использовании программы-обертки или какой-либо оболочки сервлетов для создания мыльного сервера. Мы не хотим идти этим путем, пока мы не найдем очень вескую причину, чтобы тратить время на изучение нового кода. Как я могу использовать SSL-соединение для этого кода, не используя какой-либо сторонний код? У нас уже есть сертификат от авторитетной компании, которая работает на нашем сервере для нашего обычного веб-сайта.
Вы видели это: http://stackoverflow.com/questions/4621313/using-javax-xml-ws-endpoint-with-https? – efan
Не забудьте позвонить .close() в Connection;) –