Я пытаюсь подключиться к (локальной) веб-службе, используя GWT RequestBuilder с безопасным соединением (SSL), но соединение не установлено ... Когда я подключаюсь с помощью простого HTTP-соединения, все работает нормально.
Некоторые подробности
- все работает нормально, когда я использую браузер для просмотра страниц,
- Я использую автоматически подписанный SSL-сертификат на локальном компьютере,
- тесты не пройдены, поскольку фактический код ответа (responseCode) не задан,
- тесты работают нормально, если я использую простое соединение HTTP (без SSL).
Код
package com.example.services;
import com.google.gwt.http.client.*;
import com.google.gwt.junit.client.GWTTestCase;
import com.google.gwt.user.client.Timer;
public class RequestBuilderTest extends GWTTestCase {
private static String SERVER_URL = "https://127.0.0.1/api";
private static final int ASSERT_DELAY_IN_MS = 15000;
private static final int TEST_DURATION_IN_MS = 20000;
private int statusCode;
public void testGet() throws Exception {
new RequestBuilder(RequestBuilder.GET, SERVER_URL).sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable e) {
fail(e.getMessage());
}
public void onResponseReceived(Request request, Response response) {
statusCode = response.getStatusCode();
}
});
delayTestFinish(TEST_DURATION_IN_MS);
new Timer() {
@Override
public void run() {
assertEquals(Response.SC_OK, statusCode);
finishTest();
}
}.schedule(ASSERT_DELAY_IN_MS);
}
@Override
public String getModuleName() {
return "com.example.services.RequestBuilder";
}
}
Результаты
- пройден тест с SERVER_URL = "http://127.0.0.1/api";
Сбой теста с SERVER_URL =" https://127.0.0.1/api";
Thisтрассировка стека для junit:
junit.framework.AssertionFailedError: Удаленный тест завершился неудачно, 127.0.0.1 ожидается = 200 фактический = 0
Любые идеи почто может быть не так и как я могу заставить тесты работать с SSL?
EDIT
Как я могу заставить тесты работать в безопасном режиме?Я использую eclipse ... Я попытался установить некоторые "Аргументы программы" в "Запуск конфигурации" (для тестов junit), но они не работают ... Вот аргументы:
-noserver -startupUrl https://192.168.8.147/com.example.services.RequestBuilderTest.JUnit/ -bindAddress 0.0.0.0
Будет ли лучше, если я просто отключу SSL на сервере?Эти тесты предназначены для запуска на сервере непрерывной интеграции, и я хотел протестировать их с помощью SSL.