You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle APEX使用外部Apache FOP打印服务器打印报告时触发Java异常

问题根因

从提供的错误栈可以定位到空指针异常触发逻辑:org.apache.xmlgraphics.image.loader.util.ImageUtil.decorateMarkSupported方法调用FilterInputStream.markSupported时,输入流对象为null,本质是Apache FOP处理报告中的外部图片资源(LOGO、图表等)时,无法正常拉取对应资源,具体触发原因通常有三类:

  • ORDS 19.1及以上版本调整了APEX打印请求的资源传递逻辑:默认不再将报告引用的静态资源嵌入到发送给FOP的XML payload中,仅传递资源的相对路径,独立部署的FOP应用没有权限访问APEX/ORDS的受保护资源路径,拉取图片时返回空流。
  • Weblogic类加载冲突:Weblogic自带的XML解析、图像处理相关类库和Apache FOP 2.6依赖的xmlgraphics-commons包版本不兼容,导致资源加载时输入流初始化失败。
  • FOP应用配置错误:自定义FOP Servlet配置的资源解析基路径错误,未配置允许访问APEX服务的资源地址,跨应用拉取资源被Weblogic安全策略拦截。
解决方案

方案1:调整APEX打印配置强制嵌入资源

该方案不需要修改FOP部署配置,兼容性最高:

  • 进入APEX应用「共享组件」-「报告打印」,修改外部打印服务器配置
  • 勾选「将所有图像嵌入到打印请求中」选项,保存后重新测试即可。

方案2:修复FOP Web应用的Weblogic部署配置

如果需要保留资源外链模式,按以下步骤调整配置:

  1. 在FOP应用的WEB-INF目录下新建weblogic.xml配置文件,添加以下内容强制优先加载FOP自带的依赖包:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd">
    <container-descriptor>
        <prefer-application-packages>
            <package-name>org.apache.xmlgraphics.*</package-name>
            <package-name>org.apache.fop.*</package-name>
            <package-name>com.sun.org.apache.xalan.*</package-name>
        </prefer-application-packages>
    </container-descriptor>
</weblogic.xml>
  1. 在FOP的conf/fop.xconf配置文件中添加APEX服务的基地址作为资源解析根路径:
<fop version="1.0">
    <base>http://你的APEX服务地址/ords/</base>
    <!-- 其余原有配置保持不变 -->
</fop>
  1. 重新打包fop.war并在Weblogic中重新部署,重启服务后测试。

方案3:使用ORDS内置FOP支持

Oracle ORDS 21.x已经内置了Apache FOP的支持,不需要独立部署自定义FOP应用:

  • 停止并卸载当前部署的fop.war
  • 进入ORDS配置目录,修改defaults.xml配置,开启打印功能:
<entry key="apex.print.enabled" value="true"/>
<entry key="apex.print.server" value="internal"/>
  • 重启ORDS服务,将APEX的打印服务器配置调整为使用ORDS内置打印服务即可。

内容的提问来源于stack exchange,提问作者kapiell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:15:02