【发布时间】:2020-06-03 15:35:29
【问题描述】:
我有一个 xPage,它使用服务器端 Javascript beforePageLoad 调用从远程 JSON REST 服务填充一些字段。
得到这个错误..... 在 java 类“java.net.URL”上调用方法“openConnection()”时出错 ECL 权限被拒绝 ("java.lang.RuntimePermission" "accessClassInPackage.sun.net.www.protocol.https")
这适用于网络浏览器。我是否需要更改任何客户端设置,或者是否有更好的方法来执行此操作,以便我也可以在 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;
}
【问题讨论】:
-
简答:不要在 JavaScript 中这样做,长回答:见下文
-
我同意@stwissel。但是您可以附加到 domino\jvm\lib\java.policy "grant { permission java.security.AllPermission; }; " -- 这是否清除了安全错误?
标签: xpages lotus-domino xpinc hcl-notes