Hallo Leute,
wir haben hier unter Fedore Core 4 einen Tomcat-Server aufgesetzt und eine kleine Anwendung programmiert, welche eine Object via Hibernate in eine Datenbank mappen soll. Der Zugriff auf den Server durch die Clients erfolgt via SOAP. Das Problem ist nun, das ich an meinen Clients die Fehlermeldung "SOAPException= SOAP-ENV:Protocol, Missing content type." erhalte. Das ist natürlich sehr aussagekräftig. Nun haben wir das Logging verfolgt und hier ist der letzte Teil bis zum Abbruch:
Quote:
2005-06-20 08:34:26,085 [http-8080-Processor25] INFO PacketCaller.log - Initializing Hibernate!
2005-06-20 08:34:26,533 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Environment - Hibernate 2.1.8
2005-06-20 08:34:26,537 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Environment - hibernate.properties not found
2005-06-20 08:34:26,551 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Environment - using CGLIB reflection optimizer
2005-06-20 08:34:26,556 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
2005-06-20 08:34:26,590 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
2005-06-20 08:34:26,590 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
2005-06-20 08:34:28,578 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - Mapping resource: User.hbm.xml
2005-06-20 08:34:29,975 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Binder - Mapping class: xxx.yyy.zzz.User -> User
2005-06-20 08:34:31,522 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - Configured SessionFactory: null
2005-06-20 08:34:31,523 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - processing one-to-many association mappings
2005-06-20 08:34:31,524 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - processing one-to-one association property references
2005-06-20 08:34:31,524 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - processing foreign key constraints
2005-06-20 08:34:31,803 [http-8080-Processor25] INFO net.sf.hibernate.dialect.Dialect - Using dialect: net.sf.hibernate.dialect.MySQLDialect
2005-06-20 08:34:31,902 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - Maximim outer join fetch depth: 2
2005-06-20 08:34:31,902 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - Use outer join fetching: true
2005-06-20 08:34:31,987 [http-8080-Processor25] INFO net.sf.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
2005-06-20 08:34:31,987 [http-8080-Processor25] INFO net.sf.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 10
2005-06-20 08:34:32,081 [http-8080-Processor25] INFO net.sf.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost/sipuser
2005-06-20 08:34:32,082 [http-8080-Processor25] INFO net.sf.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=XXXXX, password=XXXXX}
2005-06-20 08:34:32,701 [http-8080-Processor25] INFO net.sf.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of process level read-write cache is not recommended)
2005-06-20 08:34:33,616 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - Use scrollable result sets: true
2005-06-20 08:34:33,617 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - Use JDBC3 getGeneratedKeys(): true
2005-06-20 08:34:33,617 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: false
2005-06-20 08:34:33,617 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - echoing all SQL to stdout
2005-06-20 08:34:33,618 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - Query language substitutions: {}
2005-06-20 08:34:33,618 [http-8080-Processor25] INFO net.sf.hibernate.cfg.SettingsFactory - cache provider: net.sf.hibernate.cache.EhCacheProvider
2005-06-20 08:34:33,666 [http-8080-Processor25] INFO net.sf.hibernate.cfg.Configuration - instantiating and configuring caches
An dieser Stelle wird die Sache mit obiger SOAP-Exception abgebrochen und wie wissen absolut nicht, woran das noch liegen kann. Während der Entwicklung haben wir unser Programm auf einem Tomcat unter Windows entwickelt und uns dabei in keinster Weise um EhCache gekümmert. Dort hat es problemlos funktioniert. Jetzt soll das Ganze auf den Server und es funktionuckelt nicht mehr... Woran kann das liegen? Hier noch der Inhalt der ehcache.xml:
Quote:
<?xml version='1.0' encoding='utf-8'?>
<ehcache>
<diskStore path="/tmp"/>
<defaultCache
maxElementsInMemory="100"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
/>
<cache name="xxx.yyy.zzz.User"
maxElementsInMemory="100"
eternal="false"
overflowToDisk="true"
/>
<!--
</ehcache>
Hier die Mapping-Datei:
Quote:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="xxx.yyy.zzz.User" table="User">
<cache usage="read-write" />
<id name="idUser" column="iduser" type="integer">
<generator class="increment"/>
</id>
<property name="userIP" column="userip" type="string"/>
<property name="userInitial" column="userinitial" type="string"/>
<property name="userFName" column="userfname" type="string"/>
<property name="userLName" column="userlname" type="string"/>
<property name="userCompany" column="usercompany" type="string"/>
<property name="userMail" column="usermail" type="string"/>
<property name="sipName" column="sipname" type="string"/>
<property name="sipAddress" column="sipaddress" type="string"/>
<property name="sipScreenName" column="sipscreenname" type="string"/>
<property name="role" column="role" type="string"/>
<property name="status" column="status" type="string"/>
</class>
</hibernate-mapping>
Und hier die Hibernate-Config:
Quote:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/sipuser</property>
<property name="hibernate.connection.username">XXXXX</property>
<property name="hibernate.connection.password">XXXXX</property>
<property name="hibernate.connection.pool_size">10</property>
<property name="show_sql">true</property>
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- Mapping files -->
<mapping resource="User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Und noch ein paar Angaben:
Hibernate version: 2.1.8
Name of the database: MySQL
Da uns mittlerweile die Ideen ausgegangen sind, hier dieses Monster-Posting. Wo kann es denn noch klemmen? Wie gesagt, unter unserer Windows-Entwicklungsumgebung gab es keinerlei Probleme, jetzt unter Fedora bleibt er an obiger Stelle einfach stehen. Der Logging-Level steht schon auf "DEBUG" aber trotzdem ist das nicht sehr aussagekräfig...
Ratlos, aber dennoch