串行器未在XSQL配置文件中定义
题
我想写为Oracle XSQL Servlet的一些自定义序列。我试图保持局部的.ear内我的两个串行器,因为他们仍然被开发和测试,我不想伤害生产代码。但是,我发现了以下错误
XML-25021:串行XLSv2未在XSQL配置文件中定义
目录列表的的.war / WEB-INF的样子
classes/
scott/
XLSv2Serializer.class
XLSXSerializer.class
lib/
<empty>
web.xml
MyConfig.xml
我的WEB-INF / web.xml中看起来像:
<web-app>
<display-name>demoSerializer</display-name>
<distributable />
<init-param>
<param-name>xsql.config</param-name>
<param-value>MyConfig.xml</param-value>
<description>use my dev config file</description>
</init-param>
</web-app>
MyConfig.XML看起来像:
<XSQLConfig>
<serializerdefs>
<serializer>
<name>XLSv2</name>
<class>scott.XLSv2Serializer</class>
</serializer>
<serializer>
<name>XLSX</name>
<class>scott.XLSXSerializer</class>
</serializer>
</serializerdefs>
</XSQLConfig>
我缺少什么东西吗?
解决方案
了它。首先,我切换
<?xml-stylesheet serializer="{@serializer}"?>
到
<?xml-stylesheet serializer="java:scott.XLSXSerializer"?>
这迫使它WEB-INF /类中的样子。由于我没有进入编辑XSQLConfig和我的序列化是本地到.war,我把它扔了一个小烦恼,我必须manualy变化串行测试时。
在此我得到一个“串行器无法加载的错误”。
Apache的POI OOXML需要的xmlbeans。第二个问题是,XMLBeans的没有在服务器上找到,因此串行会悄悄死去,永远不会被加载。出于某种原因,正被抛出的异常没有渐入日志。走动代码后,主要是正在创建的工作簿在那里,我终于看到了异常。的修复程序是把的xmlbeans在lib目录内WEB-INF /
最后一个侧面说明:我如何重写xsql.config从来没有工作,即使文件说,它应该。我发现了这一点,通过在MyConfig.XML故意写畸形XML。该应用程序还配备了当它竟然没有运行得很好。
如果任何人的方式来替代单个的.ear的XSQLConfig.xml知道,我很乐意听到它。
不隶属于 StackOverflow