Java 使用Oracle XML Publisher API创建PDF文档
我正在尝试使用RESTAPI生成PDF文档。使用的BI Publisher库: fnd_i18n.jar xdocore.jar xmlparserv2-904.jar collections.jar i18nAPI_v3.jar versioninfo.jar 例外情况:Java 使用Oracle XML Publisher API创建PDF文档,java,oracle,rest,Java,Oracle,Rest,我正在尝试使用RESTAPI生成PDF文档。使用的BI Publisher库: fnd_i18n.jar xdocore.jar xmlparserv2-904.jar collections.jar i18nAPI_v3.jar versioninfo.jar 例外情况: { "timestamp": 1573476521580, "status": 500, "error": "Internal Server Error", "exceptio
{
"timestamp": 1573476521580,
"status": 500,
"error": "Internal Server Error",
"exception": "java.lang.IllegalAccessError",
"message": "tried to access method oracle.apps.fnd.i18n.common.util.DateFormatMaskConverter.getJavaDateFormatFromOracle(Ljava/lang/String;Ljava/util/Locale;Z)Ljava/lang/String; from class oracle.apps.fnd.i18n.common.util.FormatMaskUtil",
"path": "/runXMLPub/runXML"
}
代码:
如果您能帮助解决此问题,我们将不胜感激。谢谢。我以前没有在Oracle XML Publisher API上这样做过,但是,从例外情况来看,很明显,它无法访问指示配置问题或权限问题所需的内容。你是建立这个API调用还是从一个已经建立的网站上获取它?我问这个问题是为了帮助我们朝着哪个方向前进:这是配置问题还是编码问题?我在eclipse工作区中创建了一个gradle项目,并编译了代码,在weblogic server上部署了war。在初始化DataProcessor对象时出现异常。DataProcessor DataProcessor=新的DataProcessor();它看起来像是通过对象实例化“oracle.apps.fnd.i18n.common.util.FormatMaskUtil”抛出异常,但不能确定。您能否注释掉“dataProcessor=new dataProcessor();”之后的其余函数调用,并查看它是否仍然得到异常?需要隔离真正发生的地方……”“分而治之”
try{
DataProcessor dataProcessor = new DataProcessor();
dataProcessor.setDataTemplate("/tmp/XXONT_SO_ACK.xml");
Hashtable parameters = new Hashtable();
parameters.put("P_ORDER_NUMBER","2000010477");
parameters.put("P_ORDER_LINE_ID","");
dataProcessor.setParameters(parameters);
dataProcessor.setConnection(jdbcConnection);
dataProcessor.setOutput("/tmp/XXONT_SO_ACK_OUT.xml");
dataProcessor.processData();
RTFProcessor rtfProcessor = new RTFProcessor("/tmp/XXONT_SO_ACK.rtf");
rtfProcessor.setOutput("/tmp/XXONT_SO_ACK.xsl");
rtfProcessor.process();
FOProcessor processor = new FOProcessor();
processor.setData("/tmp/XXONT_SO_ACK_OUT.xml");
processor.setTemplate("/tmp/XXONT_SO_ACK.xsl");
processor.setOutput("/tmp/XXONT_SO_ACK.pdf");
processor.setOutputFormat(FOProcessor.FORMAT_PDF);
processor.generate();
fProcessor.process();
} catch (Exception e)
{
System.out.println("Exception..." );
e.printStackTrace();
}