Frage

Ich versuche, einige benutzerdefinierten Serializer für einen Oracle-XSQL Servlet zu schreiben. Ich versuche, meine zwei Serializer innerhalb des lokalen .ear zu halten, weil sie immer noch entwickelt und getestet werden, und ich will nicht, Produktionscode verletzen. Allerdings bin ich die folgende Fehlermeldung bekommen

XML-25021: Serializer XLSv2 ist nicht definiert in XSQL Konfigurationsdatei

Verzeichnisliste von .war / WEB-INF sieht aus wie

classes/
        scott/
              XLSv2Serializer.class
              XLSXSerializer.class
lib/
    <empty>
web.xml
MyConfig.xml

My WEB-INF / web.xml sieht aus wie:

<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 sieht aus wie:

<XSQLConfig>
  <serializerdefs>
    <serializer>
      <name>XLSv2</name>
      <class>scott.XLSv2Serializer</class>
    </serializer>
    <serializer>
      <name>XLSX</name>
      <class>scott.XLSXSerializer</class>
    </serializer>
  </serializerdefs>
</XSQLConfig>

Was bin ich etwas fehlt?

War es hilfreich?

Lösung

es herausgefunden. Zuerst habe ich eingeschaltet

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

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

, die sie gezwungen, in WEB-INF / classes zu suchen. Da ich die XSQLConfig keinen Zugriff bearbeiten und meine Serializer zum .war lokal sind, ich bin zu werfen auf ein kleines Ärgernis, dass ich zu manualy Änderung habe die Serializer bei der Prüfung.

Danach war ich einen „Serializer nicht geladen Fehler sein könnte“ zu bekommen.

Apache POI OOXML erfordert XMLBeans. Das zweite Problem war, dass XMLBeans wurde auf dem Server nicht gefunden werden und damit die Serializer würden ruhig sterben und nie geladen werden. Aus irgendeinem Grund, dass die Ausnahme ausgelöst wurde nicht in das Protokoll zu bekommen. Nach dem Umzug Code um vor allem, wo die Arbeitsmappe erstellt wurde, sah ich endlich die Ausnahme. Das Update wurde XMLBeans im Verzeichnis lib im WEB-INF /

setzen

Endlich eine Randbemerkung: Wie ich die xsql.config außer Kraft gesetzt wurde nie funktioniert, obwohl die Dokumentation sagt es soll. Ich fand dies heraus, indem Sie wissentlich fehlerhafte XML in MyConfig.XML zu schreiben. Die App noch im Einsatz und läuft gut, wenn es versäumt haben sollte.

Wenn jemand eine Möglichkeit kennt die XSQLConfig.xml für einen einzelnen .ear außer Kraft zu setzen, würde ich gerne hören.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top