Search the FirstSpirit Knowledge Base
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
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
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
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?
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?
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