pschulz
I'm new here

FSI: no handler registered for schema 'null'

Moin,

Ich habe folgendes Problem mit FirstSpirit Integration:

Ich habe FSI auf dem Live-System vollständig konfiguriert:

- fsweb.tld, fsweb.xml, xxx.schema.xsd ins WEB-INF Verzeichnis kopiert

- web.xml angepasst

Wenn ich nun das Tag fsi:find wie folgt verwende, kommt immer die Fehlermeldung "java.lang.IllegalArgumentException: SessionManager.createSession: no handler registered for schema 'null' "

            <fsi:search resultName="yList">

                <fsi:query>

                    <QUERY entityType="ytype" limit="1">

                        <EQ attribute="id" datatype="java.lang.Integer" value="${param.selecty}" />

                    </QUERY>

                </fsi:query>

                    <c:set value="${yList[0]}" var="y"/>

                    ...

            </fsi:search>

            <fsi:find item="Z(${param.selectz})" resultName="z">

                ...

            </fsi:find>

Da die Beispiele an Bedingungen geknüpft sind, kann ich sagen, dass sowohl die eine als auch die andere Methode diesen Fehler wirft.

Auch die Angabe des Schemas (defalt-Wert aus fsweb.xml) hilft nicht.

Hat jemand eine Idee, was ich noch falsch gemacht haben könnte?

Viele Grüße

Peter

6 Replies
s_ellers
Crownpeak employee

Hi,

der Fehlermeldung nach zu urteilen scheint kein Standard-Schema definiert worden zu sein. Das geschieht normalerweise über die Konfiguration innerhalb der AdminConsole und wirkt sich anschließend auf die fsweb.xml aus. Vielleicht fehlt hier die entsprechende Definition in der fsweb.xml?

Man kann mittels JSP-Tag auch ein Schema angeben auf dem man arbeiten möchte:

<fsi:setSchema schema="schemaName">

     <fsi:search resultName="yList">

          <!-- ... -->

     </fsi:search>

</fsi:setSchema>

Stephan

0 Kudos

Hallo,

fsi:setSchema hatte ich auch schon ausprobiert -> ohne Erfolg.

Die fsweb.xml beginnt mit folgender Zeile:

"<schemaConfiguration default="xxx">"

Damit sollte der default gesetzt sein.

In der web.xml ist die fsweb.xml auch richtig referenziert:

<servlet>

      <servlet-name>fsi-InitContent</servlet-name>

      <servlet-class>de.espirit.or.web.InitServlet</servlet-class>

      <init-param>

            <param-name>properties</param-name>

            <param-value>/WEB-INF/fsweb.xml</param-value>

      </init-param>

      <load-on-startup>11</load-on-startup>

</servlet>

Viele Grüße

Peter

0 Kudos
s_ellers
Crownpeak employee

Hmm, sieht alles gut aus soweit. Um was für ein Schema handelt es sich denn? Wird hier eventuell eine interne Derby-Datenbank in Verbindung mit einem externen Tomcat verwendet? Ist die Datenbank vom WebServer aus erreichbar?

0 Kudos

Es handelt sich um eine Oracle-Datenbank, die von einem Glassfish aus angesprochen wird.

Die Datenbank ist von dort aus auch erreichbar.

Was mich etwas irritiert, ist folgender Log-Eintrag beim Starten der Anwendung:

[#|2011-04-29T12:42:59.481+0200|INFO|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=14;_ThreadName=pool-1-thread-2;|PWC1412: WebModule[/xxx] ServletContext.log():fsi-InitSchemata: set default schema: null|#]

Dem Servlet "fsi-InitSchemata" wird als Konfigurationsdatei schemata.xml vorgegeben. Die ist allerdings fast leer:

<schemaConfiguration default="null">

</schemaConfiguration>

Muss das so sein?

0 Kudos
s_ellers
Crownpeak employee

Ist fsi-InitSchemata ebenfalls ein de.espirit.or.web.InitServlet? Wenn ja, dann kann die weg, es sollte eigentlich nur eine Initialisierung geben. Woher die zweite Definition wohl kommt.. eventuell von einem Personalisation Modul?

Ja, die zweite Definition war auch ein de.espirit.or.web.InitServlet und vermutlich von dem Personalisation Modul,

das aber inzwischen eh nicht mehr benutzt wird.

Jetzt geht auch alles. Also lag es daran, dass sich die Konfigurationen überschrieben hatten...

Vielen Dank und Viele Grüße

Peter

0 Kudos