Сериализатор не определен в конфигурационном файле XSQL - PullRequest
0 голосов
/ 29 сентября 2010

Я пытаюсь написать несколько пользовательских сериализаторов для сервлета Oracle XSQL.Я пытаюсь сохранить свои два сериализатора в локальном .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>

Что я что-то упустил?

1 Ответ

0 голосов
/ 01 октября 2010

Разобрался.Сначала я переключил

<?xml-stylesheet serializer="{@serializer}"?>

на

<?xml-stylesheet serializer="java:scott.XLSXSerializer"?>

, что заставило его искать в WEB-INF / классах.Поскольку у меня нет прав на редактирование XSQLConfig, и мои сериализаторы являются локальными по отношению к .war, я вызываю небольшое раздражение, что мне приходится вручную менять сериализатор при тестировании.

После этого я былполучение «Ошибка загрузки сериализатора».

Для Apache POI ooxml требуется xmlbeans.Вторая проблема состояла в том, что xmlBeans не был найден на сервере, и, таким образом, Serializer тихо умрет и никогда не будет загружен.По какой-то причине выбрасываемое исключение не попадало в журнал.После перемещения кода, в основном там, где создавалась рабочая книга, я наконец увидел исключение.Исправление заключалось в размещении xmlbeans в каталоге lib внутри WEB-INF /

Наконец, примечание: как я переопределил xsql.config, он никогда не работал, хотя в документации сказано, что это должно.Я узнал об этом, сознательно написав искаженный XML в MyConfig.XML.Приложение по-прежнему развертывалось и работало нормально, когда должно было произойти сбой.

Если кто-нибудь знает способ переопределить файл XSQLConfig.xml для одного .ear, я хотел бы услышать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...