単純な XHTML ファイルを PDF に変換しようとしていて、Flying Saucer と iText を使用して変換しました。Java では問題なく動作しましたが、同じコードで Lotus Notes エージェントを作成しようとすると、対処方法がわからない例外が発生しました。
コード:
import lotus.domino.*;
import java.io.*;
import com.lowagie.text.DocumentException;
import org.xhtmlrenderer.pdf.ITextRenderer;
import org.xhtmlrenderer.util.XRLog;
import java.util.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
String received = agentContext.getDocumentContext().
getItemValueString("Query_String");
String[] split;
split = received.split("&");
String url = split[1];
split = url.split("/");
String outputFile = split[split.length-1];
String direc = session.getEnvironmentString("Directory", true);
outputFile = direc + "\\" + outputFile + ".pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
System.exit(0);
} catch(Exception e) {
e.printStackTrace();
}
}
}
これにより、次の結果が得られます。
09-05-2011 13:33:29 HTTP JVM: Flying Saucer ライブラリの構成を初期化できませんでした。メッセージ: バンドル java.util.PropertyResourceBundle のリソースが見つかりません、キー access_properties_not_allowed
09-05-2011 13:33:29 HTTP JVM: java.util.MissingResourceException: バンドル java.util.PropertyResourceBundle のリソースが見つかりません、キー access_properties_not_allowed
09-05-2011 13:33:29 HTTP JVM: java.util.MissingResourceException で。(MissingResourceException.java:50)
2011 年 9 月 5 日 13:33:29 HTTP JVM: java.util.ResourceBundle.getObject (ResourceBundle.java:400) で
2011 年 9 月 5 日 13:33:29 HTTP JVM: java.util.ResourceBundle.getString (ResourceBundle.java:421) で
2011 年 9 月 5 日 13:33:29 HTTP JVM: lotus.notes.JavaString.getString で (不明なソース)
09-05-2011 13:33:29 HTTP JVM: lotus.notes.AgentSecurityManager.checkPropertiesAccess (不明なソース)
2011 年 9 月 5 日 13:33:30 HTTP JVM: java.lang.System.getProperties (System.java:323) で
2011 年 9 月 5 日 13:33:30 HTTP JVM: org.xhtmlrenderer.util.Configuration.loadSystemProperties (Configuration.java:419) で
2011 年 9 月 5 日 13:33:30 HTTP JVM: org.xhtmlrenderer.util.Configuration で (Configuration.java:147)
2011 年 9 月 5 日 13:33:30 HTTP JVM: org.xhtmlrenderer.util.Configuration.instance (Configuration.java:742) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.util.Configuration.valueFor (Configuration.java:463) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.util.Configuration.isTrue (Configuration.java:709) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.util.XRLog.init (XRLog.java:250) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.util.XRLog.log (XRLog.java:203) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.util.XRLog.render (XRLog.java:194) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.util.XRLog.render (XRLog.java:190) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.layout.SharedContext.(SharedContext.java:107) で
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.pdf.ITextRenderer で。(ITextRenderer.java:111)
2011 年 9 月 5 日 13:33:31 HTTP JVM: org.xhtmlrenderer.pdf.ITextRenderer で。(ITextRenderer.java:102)
09-05-2011 13:33:31 HTTP JVM: JavaAgent.NotesMain で (不明なソース)
2011 年 9 月 5 日 13:33:31 HTTP JVM: lotus.domino.AgentBase.runNotes (不明なソース)
2011 年 9 月 5 日 13:33:31 HTTP JVM: lotus.domino.NotesThread.run (不明なソース)
違反ラインは
ITextRenderer renderer = new ITextRenderer();
「access_properties_not_allowed」をグーグルで検索しても、文字通り何も得られません。