Javaエージェントでは、jsonを解析するためにGSONを使用します。私がしようとすると、しかし:DominoエージェントとGSON - アクセスが拒否されました
String jsonReceived = "{'product':'IBM Domino','args':{'since':'1970','current':'9.0.2'}}";
Product product = (Product) gson.fromJson(jsonReceived, Product.class);
私はメッセージが表示されます。
java.security.AccessControlException:アクセス拒否されました( "java.lang.reflect.ReflectPermission" "suppressAccessChecksで")
私が最近変更しますJavaポリシーの最大値:
grant {
permission java.security.AllPermission;
}
私の制限は何ですか?
import lotus.domino.*;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonParseException;
public class JavaAgent extends AgentBase {
public void NotesMain() throws JsonParseException{
String msg = null;
lotus.domino.Session session = getSession();
OpenLogItem oli = new OpenLogItem(session);
try {
AgentContext agentContext = session.getAgentContext();
msg = "Agent " + agentContext.getCurrentAgent().getName() + " using runtime version:" + System.getProperty("java.runtime.version");
oli.logEvent(msg, OpenLogItem.SEVERITY_LOW, null);
Gson gson = new GsonBuilder().create();
msg = "after new Gson()";
oli.logEvent(msg, OpenLogItem.SEVERITY_LOW, null);
String jsonReceived = "{'product':'IBM Domino'}";
Product product = (Product) gson.fromJson(jsonReceived, Product.class);
msg = "after gson.fromJson";
oli.logEvent(msg, OpenLogItem.SEVERITY_LOW, null);
} catch(Exception e) {
oli.logError(e);
}
}
public class Product{
String product;
String msg = null;
lotus.domino.Session session = getSession();
OpenLogItem oli = new OpenLogItem(session);
public Product(){
msg = "Product() // constructor";
oli.logEvent(msg, OpenLogItem.SEVERITY_LOW, null);
}
public String getProduct() {
return product;
}
public void setProduct(String product) {
this.product = product;
}
/*@Override
public String toString() {
// TODO Auto-generated method stub
return "product: " + getProduct();
}*/
}
}
LotusScriptエージェントはオプションですか?非常にシンプルなJSONパーサライブラリが用意されています... –
ロータススクリプトでは錆びたようになっています... –
だから何ですか?いくつかのSchuurpapierを持って、実用的で、試してみてください;-)私はOpenNTFで見つかるように、元々Alan Faubelによって作成されたJSONライブラリをいくつか改良して使用します。それは動作しますが、もちろんJavaではありません... –