我有一个xPage,它使用服务器端的Javascript beforePageLoad调用来填充远程JSON REST服务的一些字段。
得到这个错误......Error calling method 'openConnection()' on java class 'java.net.URL'ECL Permission Denied ("java.lang.RuntimePermission" "accessClassInPackage.sun.net.www.protocol.https")
这在Web浏览器中可以工作。我是否有任何客户端设置需要更改,或者有更好的方法来实现这个功能,以便我也能在Notes XPiNC环境中使用它?
代码如下......提前感谢
var url = "https://api.companieshouse.gov.uk/company/" + CompanyNo;
var url:java.net.URL = new java.net.URL(url);
var urlconn:java.net.URLConnection = url.openConnection();
urlconn.setRequestProperty("Authorization", "Basic xxxxxxxx==");
if (urlconn.getResponseCode() < 400) {
var reader:java.io.BufferedReader = new java.io.BufferedReader(
new java.io.InputStreamReader(
urlconn.getInputStream())
);
var inputLine;
var jsonTxt = "";
while ((inputLine = reader.readLine()) != null){
jsonTxt += inputLine;
}
reader.close();
viewScope.Response = fromJson(jsonTxt);
} else {
/* error from server */
viewScope.Response = "Error " + urlconn.getResponseCode() + url;
}
在这种方法中,有几件事你需要改变。
一些 示例代码 应该让你沿着这些路线开始。
HttpClient httpclient = new HttpClient();
HttpMethod httpMethod = new GetMethod( this.targetURL );
int statusCode = httpclient.executeMethod(httpMethod);
// TODO Check for statusCode 200
String result = httpMethod.getResponseBodyAsString();
也可以看看这个 教程