heering
I'm new here

Problem bei FirstSpirit Verbindung aus Webanwendung

Jump to solution

Hallo,

bei einem Zugriff auf FirstSpirit aus einer Webanwendung verwenden wir den ConnectionManager. Bei der Verbindungsherstellung tritt folgende Exception auf.

java.lang.SecurityException: class "de.espirit.common.NotAuthorized"'s  signer information does not match signer information of other classes in  the same package class

Das Problem liegt vermutlich darin, dass das fs-webrt.jar, welches in der Webanwendung eingebunden ist, signiert ist und das "verbindende" jar, indem das Servlet liegt nicht.

Die Frage ist: Was ist zu tun, damit die Verbindung hergestellt werden kann?

Muss da etwas auf der FirstSpirit Seite getan werden oder im jar des Servlets?

Der Code zum Herstellen der Verbindung:

...

connection = ConnectionManager.getConnection(FS_HOST, FS_PORT, FS_MODE,ConnectionManager.AUTH_DEFAULT, ConnectionManager.createLoginParams(FS_USER, FS_PASSWORD));

try{

     connection.connect();

}

...

Die eingesetzte FirstSpirit Version ist 4.2 R4. (Ich denke allerdings, dass das Problem auch mit anderen FirstSpirit Versionen auftritt.)

Danke für Hinweise zur Lösung.

0 Kudos
1 Solution

Accepted Solutions
Peter_Jodeleit
Crownpeak employee

Das Problem wird entweder sein, das der Servlet-Container ein eigenes Class-Loading hat, das die Signaturinformation nicht berücksichtigt. Oder das die betroffene Klasse in verschiedenen Jars vorhanden ist. Sind alle Jars aus WARs oder aus WEB-INF/lib? Oder ist der Klassenpfad des Servlet-Containers modifiziert worden?

Peter

View solution in original post

0 Kudos
2 Replies
Peter_Jodeleit
Crownpeak employee

Das Problem wird entweder sein, das der Servlet-Container ein eigenes Class-Loading hat, das die Signaturinformation nicht berücksichtigt. Oder das die betroffene Klasse in verschiedenen Jars vorhanden ist. Sind alle Jars aus WARs oder aus WEB-INF/lib? Oder ist der Klassenpfad des Servlet-Containers modifiziert worden?

Peter
0 Kudos

Wir benutzen Tomcat 6. Das Problem scheint tatsächlich der Classloader zu sein.

Wenn das fs-webrt.jar im tomcat\lib Verzeichnis liegt, dann tritt das Problem nicht mehr auf. Einziger Nachteil dieser Lösung ist, dass damit die Auslieferung als ein war-file nicht mehr funktioniert.

0 Kudos