Groovy не может скомпилировать код из решения, указанного в Stackru

Ответ 1 на этот пост Stackru содержит некоторый Groovy-код, но он не компилируется (для меня Grovy Console версии 2.1.3 или в моем приложении Grails 2.2.3).

Не могли бы вы помочь сообщить мне, что мне нужно изменить, чтобы этот код работал? Я получаю ошибку:

 unexpected token: public at line 14, column: 52  (... which is the "public X509 Certificate[]")

Для быстрого ознакомления кодовое решение, приведенное в ответе 1:

 import javax.net.ssl.X509TrustManager
 import javax.net.ssl.SSLContext
 import java.security.cert.X509Certificate
 import javax.net.ssl.TrustManager
 import java.security.SecureRandom
 import org.apache.http.conn.ssl.SSLSocketFactory
 import org.apache.http.conn.scheme.Scheme
 import org.apache.http.conn.scheme.SchemeRegistry

 def http = new HTTPBuilder( "https://your_unsecure_certificate_host" )

 //=== SSL UNSECURE CERTIFICATE ===
 def sslContext = SSLContext.getInstance("SSL")              
 sslContext.init(null, [ new X509TrustManager() {public X509Certificate[]   
 getAcceptedIssuers() {null }
 public void checkClientTrusted(X509Certificate[] certs, String authType) { }
 public void checkServerTrusted(X509Certificate[] certs, String authType) { }
 } ] as TrustManager[], new SecureRandom())
 def sf = new SSLSocketFactory(sslContext, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER)
 def httpsScheme = new Scheme("https", sf, 443)
 http.client.connectionManager.schemeRegistry.register( httpsScheme )
 //================================

1 ответ

Решение

У вас, вероятно, есть новая строка между public X509Certificate[] а также getAcceptedIssuers() {null} в результате вставки кода в.

Попробуйте удалить символ новой строки (и отформатировать код до чего-то умеренно читаемого, пока вы в нем), и ошибка должна исчезнуть.

Другие вопросы по тегам