Java 使用Oracle XML Publisher API创建PDF文档

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

我正在尝试使用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",  
    "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();  
}