Hibernate version: 2.1
Full stack trace of any exception that occurs:
Name and version of the database you are using: mySql 4.1.1 alpha
Hello all,
i have written a WS that uses Hibernate in order to persist data into a database.
The problem that i am encountering is that no data is being inserted, and worst than that an exception is raised back to the client.
Here is the stack Trace for the server
-----------------------------------------------------------------------------------------
server
-----------------------------------------------------------------------------------------
INFO: Mapping class: com.myapp.hibernate.HibernateEntry -> entries 15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Configuration addResource
INFO: Mapping resource: com/myapp/hibernate/HibernateUser.hbm.xml
15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Binder bindRootClass
INFO: Mapping class: com.myapp.hibernate.HibernateUser -> user 15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Configuration addResource
INFO: Mapping resource: com/myapp/hibernate/HibernateStock.hbm.xml
15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Binder bindRootClass
INFO: Mapping class: com.myapp.hibernate.HibernateStock -> stocknews 15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: foo:/hibernate/SessionFactory 15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Configuration secondPassCompile
INFO: processing one-to-many association mappings
15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Configuration secondPassCompile
INFO: processing one-to-one association property references 15-Sep-2004 18:57:28 net.sf.hibernate.cfg.Configuration secondPassCompile
INFO: processing foreign key constraints
15-Sep-2004 18:57:28 net.sf.hibernate.dialect.Dialect <init>
INFO: Using dialect: net.sf.hibernate.dialect.MySQLDialect
15-Sep-2004 18:57:28 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Use outer join fetching: true
15-Sep-2004 18:57:28 net.sf.hibernate.connection.C3P0ConnectionProvider
configu
e
INFO: C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3 06/menagerie?autoReconnect=true 15-Sep-2004 18:57:28 net.sf.hibernate.connection.C3P0ConnectionProvider
configu
e
INFO: Connection properties: {user=root, password=mypass} 15-Sep-2004 18:57:28 net.sf.hibernate.transaction.TransactionFactoryFactory
bui
dTransactionFactory
INFO: Transaction strategy: net.sf.hibernate.transaction.JDBCTransactionFactory
15-Sep-2004 18:57:28 net.sf.hibernate.transaction.TransactionManagerLookupFacto
y getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of proces level read-write cache is not recommended) Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@1827d1
[ con
ectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@1db
84d [ acquireIncrement -> 1, acquireRetryAttempts -> 30, acquireRetryDelay
-> 1
00, autoCommitOnClose -> false, breakAfterAcquireFailure -> false, connectionTe terClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassL cation -> null, forceIgnoreUnresolvedTransactions -> false, idleConnectionTestP riod -> -1, initialPoolSize -> 3, maxIdleTime -> 100, maxPoolSize -> 100, maxSt tements -> 0, minPoolSize -> 10, nestedDataSource -> com.mchange.v2.c3p0.Driver anagerDataSource@1786286 [ description -> null, driverClass -> null, factoryCla sLocation -> null, jdbcUrl -> jdbc:mysql://localhost:3306/menagerie?autoReconne
t=true, properties -> {user=******, password=******} ] , propertyCycle -> 300, estConnectionOnCheckout -> false ] , factoryClassLocation -> null, numHelperThr ads -> 3, poolOwnerIdentityToken -> 1827d1 ] 15-Sep-2004 18:57:29 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Use scrollable result sets: true
15-Sep-2004 18:57:29 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC 2 max batch size: 15
15-Sep-2004 18:57:29 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: echoing all SQL to stdout
15-Sep-2004 18:57:29 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
15-Sep-2004 18:57:29 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: cache provider: net.sf.ehcache.hibernate.Provider 15-Sep-2004 18:57:29 net.sf.hibernate.cfg.Configuration configureCaches
INFO: instantiating and configuring caches
15-Sep-2004 18:57:29 net.sf.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
2004-09-15 18:57:29,546 DEBUG com.myapp.hibernate.HibernateUser [main]
- Crea
ing Castor User
2004-09-15 18:57:29,578 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:29,578 DEBUG com.myapp.hibernate.HibernateStock [main]
- Cre
ting Hibernate Stock
15-Sep-2004 18:57:29 net.sf.hibernate.impl.SessionFactoryObjectFactory addInsta ce
INFO: Factory name: foo:/hibernate/SessionFactory
15-Sep-2004 18:57:29 net.sf.hibernate.util.NamingHelper getInitialContext
INFO: JNDI InitialContext properties:{}
15-Sep-2004 18:57:29 net.sf.hibernate.util.NamingHelper bind
INFO: Creating subcontext: foo:
15-Sep-2004 18:57:29 net.sf.hibernate.util.NamingHelper bind
INFO: Creating subcontext: hibernate
15-Sep-2004 18:57:29 net.sf.hibernate.impl.SessionFactoryObjectFactory addInsta ce
INFO: Bound factory to JNDI name: foo:/hibernate/SessionFactory 15-Sep-2004 18:57:29 net.sf.hibernate.impl.SessionFactoryObjectFactory addInsta ce
WARNING: InitialContext did not implement EventContext 15-Sep-2004 18:57:29 net.sf.hibernate.cache.UpdateTimestampsCache <init>
INFO: starting update timestamps cache at region: net.sf.hibernate.cache.Update imestampsCache 15-Sep-2004 18:57:29 net.sf.ehcache.config.Configurator configure
WARNING: No configuration found. Configuring ehcache from ehcache-failsafe.xml ound in the classpath: file:/C:/Program Files/Apache Software Foundation/Tomcat 5.0/work/Catalina/localhost/budget-web/loader/ehcache-failsafe.xml
15-Sep-2004 18:57:29 net.sf.ehcache.hibernate.Plugin <init>
WARNING: Could not find configuration for net.sf.hibernate.cache.UpdateTimestam
sCache. Configuring using the defaultCache settings. 15-Sep-2004 18:57:29 net.sf.hibernate.cache.QueryCache <init>
INFO: starting query cache at region: net.sf.hibernate.cache.QueryCache 15-Sep-2004 18:57:29 net.sf.ehcache.hibernate.Plugin <init>
WARNING: Could not find configuration for net.sf.hibernate.cache.QueryCache.
Co
figuring using the defaultCache settings.
2004-09-15 18:57:29,890 DEBUG com.myapp.hibernate.HibernatePersistenceManager
main] - Simple Test....creatingp ersistent expense..... 2004-09-15 18:57:29,953 DEBUG com.myapp.hibernate.HibernatePersistenceManager
main] - ----HibPersMgr. getting query...
2004-09-15 18:57:29,968 DEBUG com.myapp.hibernate.HibernatePersistenceManager
main] - ---- obtained queryTypes
Hibernate: select hibernatee0_.id as id, hibernatee0_.description as descript2_ from types hibernatee0_ 2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernateExpenseType
[main]
- Creating Hibernate Expense Type
2004-09-15 18:57:30,031 DEBUG com.myapp.hibernate.HibernatePersistenceManager
main] - ---- query finished. got:7 elements!
******** trying to load resource as stream...
8888888 got it!
15-Sep-2004 18:57:30 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache So tware Foundation\Tomcat 5.0\conf\Catalina\localhost\jsp-examples.xml
15-Sep-2004 18:57:30 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache So tware Foundation\Tomcat 5.0\conf\Catalina\localhost\manager.xml
15-Sep-2004 18:57:30 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache So tware Foundation\Tomcat 5.0\conf\Catalina\localhost\ROOT.xml
15-Sep-2004 18:57:30 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache So tware Foundation\Tomcat 5.0\conf\Catalina\localhost\servlets-examples.xml
15-Sep-2004 18:57:30 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache So tware Foundation\Tomcat 5.0\conf\Catalina\localhost\struts-validator.xml
15-Sep-2004 18:57:31 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=tr e 15-Sep-2004 18:57:31 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNu l=true 15-Sep-2004 18:57:32 org.apache.struts.util.PropertyMessageResources <init>
INFO: Initializing, config='org.apache.struts.webapp.validator.ApplicationResou
ces', returnNull=true
15-Sep-2004 18:57:32 org.apache.struts.validator.ValidatorPlugIn initResources
INFO: Loading validation rules file from '/WEB-INF/validator-rules.xml' 15-Sep-2004 18:57:32 org.apache.struts.validator.ValidatorPlugIn initResources
INFO: Loading validation rules file from '/WEB-INF/validation.xml' 15-Sep-2004 18:57:32 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache So tware Foundation\Tomcat 5.0\conf\Catalina\localhost\tomcat-docs.xml
15-Sep-2004 18:57:32 org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\Program Files\Apache So tware Foundation\Tomcat 5.0\conf\Catalina\localhost\webdav.xml
15-Sep-2004 18:57:32 org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /axis from URL file:C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\axis 15-Sep-2004 18:57:34 org.apache.catalina.loader.WebappClassLoader validateJarFi e
INFO: validateJarFile(C:\Program Files\Apache Software Foundation\Tomcat 5.0\we
apps\axis\WEB-INF\lib\j2ee-1.4.jar) - jar not loaded. See Servlet Spec 2.3, sec ion 9.7.2. Offending class: javax/servlet/Servlet.class 15-Sep-2004 18:57:36 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on port 8080
15-Sep-2004 18:57:36 org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
15-Sep-2004 18:57:36 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=16/47 config=C:\Program Files\Apache Software Found tion\Tomcat 5.0\conf\jk2.properties 15-Sep-2004 18:57:36 org.apache.catalina.startup.Catalina start
INFO: Server startup in 28328 ms
15-Sep-2004 18:57:53 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and java .mail.internet.MimeMultipart). Attachment support is disabled. calling hibernate... 2004-09-15 18:57:55,406 DEBUG com.myapp.hibernate.HibernatePersistenceManager
http8080-Processor4] - Creating HibernatePM..
2004-09-15 18:57:55,406 DEBUG com.myapp.hibernate.HibernatePersistenceManager
http8080-Processor4] - Initializing Hibernate from /hibernate.cfg.xml... 15-Sep-2004 18:57:55 net.sf.hibernate.cfg.Environment <clinit>
INFO: Hibernate 2.1 final
15-Sep-2004 18:57:55 net.sf.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
15-Sep-2004 18:57:55 net.sf.hibernate.cfg.Environment <clinit>
INFO: using CGLIB reflection optimizer
15-Sep-2004 18:57:55 net.sf.hibernate.cfg.Configuration configure
INFO: configuring from url: file:/C:/Program Files/Apache Software Foundation/T mcat 5.0/work/Catalina/localhost/axis/loader/hibernate.cfg.xml
15-Sep-2004 18:57:55 net.sf.hibernate.cfg.Configuration addResource
INFO: Mapping resource: com/myapp/hibernate/HibernateExpenseType.hbm.xml
15-Sep-2004 18:57:55 net.sf.hibernate.cfg.Binder bindRootClass
INFO: Mapping class: com.myapp.hibernate.HibernateExpenseType -> types 15-Sep-2004 18:57:55 net.sf.hibernate.cfg.Configuration addResource
INFO: Mapping resource: com/myapp/hibernate/HibernateEntry.hbm.xml
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Binder bindRootClass
INFO: Mapping class: com.myapp.hibernate.HibernateEntry -> entries 15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Configuration addResource
INFO: Mapping resource: com/myapp/hibernate/HibernateUser.hbm.xml
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Binder bindRootClass
INFO: Mapping class: com.myapp.hibernate.HibernateUser -> user 15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Configuration addResource
INFO: Mapping resource: com/myapp/hibernate/HibernateStock.hbm.xml
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Binder bindRootClass
INFO: Mapping class: com.myapp.hibernate.HibernateStock -> stocknews 15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: foo:/hibernate/SessionFactory 15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Configuration secondPassCompile
INFO: processing one-to-many association mappings
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Configuration secondPassCompile
INFO: processing one-to-one association property references 15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Configuration secondPassCompile
INFO: processing foreign key constraints
15-Sep-2004 18:57:56 net.sf.hibernate.dialect.Dialect <init>
INFO: Using dialect: net.sf.hibernate.dialect.MySQLDialect
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Use outer join fetching: true
15-Sep-2004 18:57:56 net.sf.hibernate.connection.C3P0ConnectionProvider
configu
e
INFO: C3P0 using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3 06/menagerie?autoReconnect=true 15-Sep-2004 18:57:56 net.sf.hibernate.connection.C3P0ConnectionProvider
configu
e
INFO: Connection properties: {user=root, password=mypass} 15-Sep-2004 18:57:56 net.sf.hibernate.transaction.TransactionFactoryFactory
bui
dTransactionFactory
INFO: Transaction strategy: net.sf.hibernate.transaction.JDBCTransactionFactory
15-Sep-2004 18:57:56 net.sf.hibernate.transaction.TransactionManagerLookupFacto
y getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of proces level read-write cache is not recommended) Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@1123eb0
[ co
nectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@16
9c13 [ acquireIncrement -> 1, acquireRetryAttempts -> 30, acquireRetryDelay
->
000, autoCommitOnClose -> false, breakAfterAcquireFailure -> false, connectionT sterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClass ocation -> null, forceIgnoreUnresolvedTransactions -> false, idleConnectionTest eriod -> -1, initialPoolSize -> 3, maxIdleTime -> 100, maxPoolSize -> 100, maxS atements -> 0, minPoolSize -> 10, nestedDataSource -> com.mchange.v2.c3p0.Drive ManagerDataSource@d9cbcb [ description -> null, driverClass -> null, factoryCla sLocation -> null, jdbcUrl -> jdbc:mysql://localhost:3306/menagerie?autoReconne
t=true, properties -> {user=******, password=******} ] , propertyCycle -> 300, estConnectionOnCheckout -> false ] , factoryClassLocation -> null, numHelperThr ads -> 3, poolOwnerIdentityToken -> 1123eb0 ] 15-Sep-2004 18:57:56 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Use scrollable result sets: true
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC 2 max batch size: 15
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: echoing all SQL to stdout
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
15-Sep-2004 18:57:56 net.sf.hibernate.cfg.SettingsFactory buildSettings
INFO: cache provider: net.sf.ehcache.hibernate.Provider 15-Sep-2004 18:57:56 net.sf.hibernate.cfg.Configuration configureCaches
INFO: instantiating and configuring caches
15-Sep-2004 18:57:56 net.sf.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
2004-09-15 18:57:57,015 DEBUG com.myapp.hibernate.HibernateStock [http8080-Pro essor4] - Creating Hibernate Stock 2004-09-15 18:57:57,046 DEBUG com.myapp.hibernate.HibernateUser [http8080-Proc ssor4] - Creating Castor User 2004-09-15 18:57:57,062 DEBUG com.myapp.hibernate.HibernateExpenseType
[http80
0-Processor4] - Creating Hibernate Expense Type
15-Sep-2004 18:57:57 net.sf.hibernate.impl.SessionFactoryObjectFactory addInsta ce
INFO: Factory name: foo:/hibernate/SessionFactory
15-Sep-2004 18:57:57 net.sf.hibernate.util.NamingHelper getInitialContext
INFO: JNDI InitialContext properties:{}
15-Sep-2004 18:57:57 net.sf.hibernate.util.NamingHelper bind
INFO: Creating subcontext: foo:
15-Sep-2004 18:57:57 net.sf.hibernate.util.NamingHelper bind
INFO: Creating subcontext: hibernate
15-Sep-2004 18:57:57 net.sf.hibernate.impl.SessionFactoryObjectFactory addInsta ce
INFO: Bound factory to JNDI name: foo:/hibernate/SessionFactory 15-Sep-2004 18:57:57 net.sf.hibernate.impl.SessionFactoryObjectFactory addInsta ce
WARNING: InitialContext did not implement EventContext 15-Sep-2004 18:57:57 net.sf.hibernate.cache.UpdateTimestampsCache <init>
INFO: starting update timestamps cache at region: net.sf.hibernate.cache.Update imestampsCache 15-Sep-2004 18:57:57 net.sf.ehcache.config.Configurator configure
WARNING: No configuration found. Configuring ehcache from ehcache-failsafe.xml ound in the classpath: file:/C:/Program Files/Apache Software Foundation/Tomcat 5.0/work/Catalina/localhost/axis/loader/ehcache-failsafe.xml
15-Sep-2004 18:57:57 net.sf.ehcache.hibernate.Plugin <init>
WARNING: Could not find configuration for net.sf.hibernate.cache.UpdateTimestam
sCache. Configuring using the defaultCache settings. 15-Sep-2004 18:57:57 net.sf.hibernate.cache.QueryCache <init>
INFO: starting query cache at region: net.sf.hibernate.cache.QueryCache 15-Sep-2004 18:57:57 net.sf.ehcache.hibernate.Plugin <init>
WARNING: Could not find configuration for net.sf.hibernate.cache.QueryCache.
Co
figuring using the defaultCache settings.
2004-09-15 18:57:57,281 DEBUG com.myapp.hibernate.HibernatePersistenceManager
http8080-Processor4] - Simple Test....creatingp ersistent expense.....
*****************************************************
Here is the stack trace for hte client
*****************************************************
t
log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. Message=Entry successfully asfasjfasfjsa;inserted!
C:\Sw\axis-1_2beta>java -cp %CLASSPATH%;castor-0.9.5.3.jar;xerces-2.4.0.jar;xml-
apis-1.0.b2.jar;BudgetWS-1.0.jar;Commons-1.0.jar;. com.worldcorp.services.budget .BudgetSOAPClient log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectR esourceBundle). log4j:WARN Please initialize the log4j system properly. Exception in thread "main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.reflect.InvocationTargetException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.reflect.InvocationTargetException
faultActor:
faultNode:
faultDetail:
java.lang.reflect.InvocationTargetException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:223)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:130)
at org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseri
alizationContextImpl.java:1053)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source
)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknow
n Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa
tionContextImpl.java:218)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:568)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:427)
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:701)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:93)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:144)
at org.apache.axis.client.Call.invokeEngine(Call.java:2688)
at org.apache.axis.client.Call.invoke(Call.java:2671)
at org.apache.axis.client.Call.invoke(Call.java:2357)
at org.apache.axis.client.Call.invoke(Call.java:2280)
at org.apache.axis.client.Call.invoke(Call.java:1741)
at com.worldcorp.services.budget.BudgetSOAPBindingStub.insert(BudgetSOAP
BindingStub.java:190)
at com.worldcorp.services.budget.BudgetSOAPClient.main(BudgetSOAPClient.
java:15)
java.lang.reflect.InvocationTargetException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder
.java:223)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.
java:130)
at org.apache.axis.encoding.DeserializationContextImpl.endElement(Deseri
alizationContextImpl.java:1053)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source
)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknow
n Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializa
tionContextImpl.java:218)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:568)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:427)
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:701)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:93)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:144)
at org.apache.axis.client.Call.invokeEngine(Call.java:2688)
at org.apache.axis.client.Call.invoke(Call.java:2671)
at org.apache.axis.client.Call.invoke(Call.java:2357)
at org.apache.axis.client.Call.invoke(Call.java:2280)
at org.apache.axis.client.Call.invoke(Call.java:1741)
at com.worldcorp.services.budget.BudgetSOAPBindingStub.insert(BudgetSOAP
BindingStub.java:190)
at com.worldcorp.services.budget.BudgetSOAPClient.main(BudgetSOAPClient.
java:15)
*************************
Below is the code of my HibernatePersistenceManager
*********************************************
package com.myapp.hibernate;
import java.util.Hashtable;
import java.util.Vector;
import java.util.Enumeration;
import java.util.Date;
import java.io.PrintWriter;
import java.io.InputStreamReader;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.net.URL;
import java.util.*;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.cfg.Configuration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
import com.myapp.hibernate.*;
import net.sf.hibernate.*;
import java.util.*;
import com.myapp.exceptions.*;
import com.myapp.common.*;
import com.myapp.util.LogWrapper;
/**
* Implementation of PersistenceManager
* interface that uses Castor
* @author Marco Mistroni
* @version 1.0
*/
class HibernatePersistenceManager implements PersistenceManager {
private LogWrapper _log = new LogWrapper(this.getClass().getName());
/**
* the path to the xml configuration file. the path should start with a
* '/' character and be relative to the root of the class path.
* (DEFAULT: "/hibernate.cfg.xml")
*/
private String _configFilePath = "/hibernate.cfg.xml";
/**
* Hibernate Session Factory
*/
private SessionFactory _factory = null;
/**
* ThreadLocal Session variable
*/
private static final ThreadLocal session = new ThreadLocal();
/**
* Constructor
*/
HibernatePersistenceManager() throws Exception{
_log.debug("Creating HibernatePM..");
initHibernate();
}
/**
* Initializes Hibernate with the config file found at
* <code>configFilePath</code>.
*/
private void initHibernate() throws Exception {
Configuration configuration = null;
URL configFileURL = null;
ServletContext context = null;
try {
configFileURL = HibernatePersistenceManager.class.getResource(_configFilePath);
_log.debug("Initializing Hibernate from "
+ _configFilePath + "...");
configuration = (new Configuration()).configure(configFileURL);
_factory = configuration.buildSessionFactory();
_log.debug("Simple Test....creatingp ersistent expense.....");
} catch (Throwable t) {
_log.error("Exception while initializing Hibernate.");
_log.error("Rethrowing exception...", t);
throw (new Exception(t));
}
}
public void insert(Entry data) throws PersistenceException {
Transaction t = null;
Session s = null;
try {
_log.error("INSERTING ENTRY...");
s = openSession();
s.flush();
//HibernateEntry entry = (HibernateEntry)data;
t = s.beginTransaction();
s.save(data);
t.commit ();
} catch(Exception e) {
_log.error("Exception in creating HibernateEntry\n" + e);
try {
if(t != null)
t.rollback();
} catch(Exception ex) {
_log.error("Failed to rollback transaction!\n" + ex);
}
throw new PersistenceException(e);
} finally {
try {
closeSession();
} catch(Exception ex) {
throw new PersistenceException("Failed to close Hibernate session!\n" + ex);
}
}
}
public void update(Entry data) throws PersistenceException{
Transaction t = null;
Session s = null;
try {
s = openSession();
s.flush();
t = s.beginTransaction();
_log.debug("UPDATING ENTRY. ID=" + data.getId());
s.update(data);
t.commit();
closeSession();
} catch(Exception e) {
_log.error("Exception in updating HibernateEntry\n" + e);
try {
if(t != null)
t.rollback();
} catch(Exception ex) {
_log.error("Failed to rollback transaction!\n" + ex);
}
throw new PersistenceException(e);
} finally {
try {
closeSession();
} catch(Exception ex) {
throw new PersistenceException("Failed to close Hibernate session!\n" + ex);
}
}
}
public void delete(Entry data) throws PersistenceException{
Transaction t = null;
Session s = null;
try {
s = openSession();
s.flush();
t = s.beginTransaction();
s.delete(data);
t.commit();
closeSession();
} catch(Exception e) {
_log.error("Exception in updating HibernateEntry\n" + e);
try {
if(t != null)
t.rollback();
} catch(Exception ex) {
_log.error("Failed to rollback transaction!\n" + ex);
}
throw new PersistenceException(e);
} finally {
try {
closeSession();
} catch(Exception ex) {
throw new PersistenceException("Failed to close Hibernate session!\n" + ex);
}
}
}
public Collection query(String query, Object[] paramValues) throws PersistenceException{
Transaction t = null;
Session s = null;
Collection returnResults = new Vector();
Query entryQuery;
List results = new ArrayList();
try {
s = openSession();
s.flush();
t = s.beginTransaction();
_log.debug("----HibPersMgr. getting query...");
entryQuery = s.getNamedQuery(query);
if(paramValues != null) {
for(int i=0; i < paramValues.length; i++){
_log.debug("-----Setting " + paramValues[i]+ " at " + i);
entryQuery.setParameter(i,paramValues[i]);
}
}
_log.debug("---- obtained query" + query);
results = entryQuery.list();
_log.debug("---- query finished. got:" + results.size() + " elements!");
// To be done
t.commit();
} catch(Exception e) {
_log.error("Exception in updating HibernateEntry\n" + e);
try {
if(t != null)
t.rollback();
} catch(Exception ex) {
_log.error("Failed to rollback transaction!\n" + ex);
}
throw new PersistenceException(e);
} finally {
try {
closeSession();
} catch(Exception ex) {
throw new PersistenceException("Failed to close Hibernate session!\n" + ex);
}
}
return results;
}
private Query getQuery(String query,
String[] paramNames,
Object[] paramValues
) throws Exception{
Query oQlquery = null;
Session s = openSession();
_log.debug("Populating parameter names....");
if(query == null ||
query.length() == 0) {
// Normal query
StringBuffer initialStmnt = new StringBuffer();
initialStmnt.append("SELECT e FROM com.myapp.hibernate.HibernateEntry e");
initialStmnt.append(" WHERE ");
for(int i=0; i < paramNames.length; i++) {
String name = paramNames[i];
initialStmnt.append("e." + name + " = " + paramValues[i] );
}
_log.debug("QUERY STRING IS:" + initialStmnt.toString());
// - QUERY STRING IS:
oQlquery = s.createQuery(initialStmnt.toString());
} else {
// More complex queries..
StringBuffer initialStmnt = new StringBuffer();
initialStmnt.append(query);
oQlquery = s.createQuery(initialStmnt.toString());
_log.debug("PersistenceManager.complexQuery.REturned query is:\n" + initialStmnt);
/*if(paramValues != null) {
for(int i=0; i < paramValues.length; i++) {
Object value = paramValues[i];
log.debug("CPMgr.binding" + value);
oQlquery.bind(value);
log.debug("Ok. " + value + " bound!");
}
}*/
}
return oQlquery;
}
/**
* @return an Hibernate Session
*/
Session openSession() throws Exception {
Session s = (Session)session.get();
if(s== null) {
s = _factory.openSession();
session.set(s);
}
return s;
}
/**
* Closes an Hibernate Session
*/
void closeSession() throws Exception {
Session s = (Session)session.get();
session.set(null);
if(s != null)
s.close();
}
}
A little thing to mention, the hibernate-cfg.xml is NOT in the same JAR file as the Axis Webservice..... though i m not sure if this matter..
anyone can help me out in finding what's wrong?
thanx in advance and regars
marco
|