拥有我正在使用的网络服务。
在Groovy中:
def http = new HTTPBuilder( "https://${ip}/convert/" )
http.get( path: 'myTool',
query: [ name:'myname' ] ) { resp, name ->
String name = name.toString()
}
哪个可以正常
然而,在grails中运行类似的东西:
class NamingService {
def convertName(String _name) {
String ip = "server/ip/end/address"
String convertedName = null
def http = new HTTPBuilder( "$ip/convert/" )
try {
http.get( path: "myTool",
query: [ name:'myname' ] ) { resp, name ->
convertedName = name
}
} catch (Exception e) {
println(e.message)
}
finally {
return convertedName
}
}
}
Grails版本给出:javax.net.ssl.SSLPeerUnverifiedException:peer not authenticated
为什么grails版本给出了这个但groovy版本没有?该项目主要是股票(没有添加自定义ssl证书或任何东西)。
答案 0 :(得分:0)
在纯Groovy示例中,您似乎明确地访问了HTTPS端点:
def http = new HTTPBuilder( "https://${ip}/convert/" )
虽然在Grails示例中您没有指定HTTPS:
def http = new HTTPBuilder( "$ip/convert/" )
try {
http.get( path: "myTool",
query: [ name:'myname' ] ) { resp, name ->
convertedName = name
}...
我会尝试修改Grails摘录的第一行以指定HTTPS协议。在不知道端点的情况下我无法验证。