xsl读取war包文件失败

最近在搞项目升级,由原来的jdk1.5升级到jdk1.7,用maven管理项目,使用weblogic自动化发布war包。

so!so……xsl读取报错了。本地测试没问题(tomcat启动部署方式),老环境没有问题(weblogic文件夹发布方式)。

只有jdk升级后的测试环境有问题,也就是说本地无法复现。

以下是报错信息:

Error at xsl:variable on line 10 of file:

////home/bea1/7001_domain/servers/AdminServer/tmp/_WL_user/hxxyz/zhofds/war/bank/SendToBankFile/xsl/send_shenyinlianS_w.xsl:
  The URI http://xml.apache.org/xslt/java does not identify an external Java class; SystemID: file:////home/bea1/7001_domain/servers/AdminServer/tmp/_WL_user/hxxyz/zhofds/war/bank/SendToBankFile/xsl/send_shenyinlianS_w.xsl; Line#: 10; Column#: -1

javax.xml.transform.TransformerException: The URI http://xml.apache.org/xslt/java does not identify an external Java class
at com.icl.saxon.style.StyleElement.styleError(StyleElement.java:807)
at com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:636)
at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:198)
at com.icl.saxon.Controller.applyTemplates(Controller.java:246)
at com.icl.saxon.Controller.run(Controller.java:178)
at com.icl.saxon.Controller.transformDocument(Controller.java:1086)
at com.icl.saxon.Controller.transform(Controller.java:953)
at com.sinosoft.lis.bank.WriteToFileBLS.xmlTransform(WriteToFileBLS.java:883)
at com.sinosoft.lis.bank.WriteToFileBLS.submitData(WriteToFileBLS.java:139)
at com.sinosoft.lis.bank.WriteToFileBL.submitData(WriteToFileBL.java:97)
at com.sinosoft.lis.bank.WriteToFileUI.submitData(WriteToFileUI.java:47)
at jsp_servlet._bank.__writetofilesave._jspService(__writetofilesave.java:267)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at filters.LisCasFilter.doFilter(LisCasFilter.java:78)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:54)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:75)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:34)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
 处理失败,原因是:Xml处理失败,无法转换!!
Fail
---WriteToFileSave End---

于是将问题锁定到weblogic的war报发布中,是不是因为weblogic打包发布时,是将原来classes下面的class打成jar包放到lib下面,导致的java找不到。之后就是修改weblogic,使程序以文件夹的形式发布。最后测试发现问题还在。原因不在这里。

就开始重新定位问题。

各种搜索资料,最后我们把xsl解析的jar包升级到最新版本,搞定。

就这样,我们排查了两天问题。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章