SSLPeerUnverifiedException:"узел не аутентифицирован" при использовании Groovy RestClient с ignoreSSLIssues()
Я пишу интеграционный тест для моей конечной точки отдыха и выбрал у Groovy RestClient. Мой остальной вызов на "HTTPS", и я столкнулся с исключениями SSL. Разбираясь в этом подробнее, я был рад узнать о методе ignoreSSLIssues() ( http://groovy.codehaus.org/modules/http-builder/doc/ssl.html). Поскольку это доступно в версии HttpBuilder версии 0.7.1, я обновил этот jar и некоторые зависимые jar. Так что с этим на месте, в соответствии с документом, я надеялся, что приведенный ниже код будет работать -
def httpBuilder = new HTTPBuilder('baseurl')
httpBuilder.ignoreSSLIssues()
def resp = httpBuilder.get(path : 'restPath')
println resp
Но это все еще вызывает javax.net.ssl.SSLPeerUnverifiedException: одноранговый узел не аутентифицирован.
Любая помощь по этому вопросу приветствуется.
Благодарю.
1 ответ
Просто столкнулся с этим вопросом. Вы также получаете эту обманчивую ошибку, если используете исходящий прокси и не настроили класс HTTPBuilder для его явного использования.
Вам нужно установить метод setProxy() HTTPBuilder. ОПЦИИ JVM, такие как -Dhttp.proxyHost, по-видимому, не соблюдаются HTTPBuilder по какой-либо причине. Моя версия выглядит примерно так:
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.Method.HEAD
def http = new HTTPBuilder( 'https://www.dev.java.net/' )
http.setProxy("my.proxy.com", 8080, "http")
http.ignoreSSLIssues()
def status = http.request( HEAD ) {
response.success = { it.status }
}