IBM webSphere解析xml报错:javax.xml.transform.TransformerException: java.lang.NullPointerException

    private static void process(String xmlStream, String absoluteXSLFile, Writer resultWriter, String outputEnc, boolean debug, boolean comp_xsl)
            throws cwException
    {
        try {
            Templates tplate = (Templates)getHashValue(absoluteXSLFile);
            Transformer tformer = null;
            
            if (tplate == null) {
                if (absoluteXSLFile == null || absoluteXSLFile.length() == 0) {
                    throw new cwException("Invalid stylesheet");
                }
                
                File fXsl = new File(absoluteXSLFile);
                if (!fXsl.exists()) {
                    String error = "Style sheet not found: "; 
                    if (debug) {
                        error += fXsl.getAbsolutePath(); 
                    }
                    throw new cwException(error);
                }
                if (comp_xsl) {
                    tplate = loadCompiledXSL(fXsl);
                    tformer = tplate.newTransformer();
                } else {
                    TransformerFactory tFactory = TransformerFactory.newInstance();
                    tformer = tFactory.newTransformer(new StreamSource(absoluteXSLFile));
                }
            } else {
                tformer = tplate.newTransformer();
            }
            
            StringReader xmlR = new StringReader(xmlStream);
            StringWriter outW = new StringWriter();

	   //在运行到此处,将string类型 解析成xml出错.!       
            tformer.transform(new StreamSource(xmlR), new StreamResult(outW));
            xmlR.close();
            outW.close();
            resultWriter.write(outW.toString());
            resultWriter.flush();
        } catch (TransformerConfigurationException e) {
            throw new cwException(e.getMessage());
        } catch (TransformerException e) {
            throw new cwException(e.getMessage());
        } catch (IOException e) {
            throw new cwException(e.getMessage());
        }
    }

      javax.xml.transform.TransformerException: java.lang.NullPointerException

     网上有一种说法是在程序处理上,没有对于空字符做出判断导致.

     而我这次遇到了这种情况,最终查出原因是在生成xml之后写入到页面上去,系统配置文件开启了缓存,会去加载*.xsl文件到缓存中.在生成xml后写入缓存中的.xsl文件

     但是服务器上配置文件中没有设置缓存.xsl文件(文件内容为空),却又在系统中开启了缓存.导致系统在xml生成之后去找缓存中.xsl文件时找不到报错.

   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值