We are using Spring 2.0 and Hibernate 3.2 rc5 in an WAS 6.0 EJB-container. To let handle all the transaction work by the EJB-container we work with CMT. When Spring tries to get the WebSphere transaction then a javax.naming.ConfigurationException is thrown by WAS:

Code:
[13.10.06 13:28:44:207 CEST] 00000016 Helpers       W   NMSV0610I: Von einer javax.naming.Context-Implementierung wurde eine NamingException ausgelöst. Einzelheiten folgen:
Kontextimplementierung: com.ibm.ws.naming.jndicos.CNContextImpl
Kontextmethode: lookupExt
Kontextname: fra10056681Node01Cell/nodes/fra10056681Node01/servers/server1
Zielname: jta/usertransaction
Weitere Daten: ""
Stack-Trace zur Ausnahme: com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object.  Root exception is javax.naming.ConfigurationException
	at com.ibm.ws.Transaction.JTA.UtxJNDIFactory.getObjectInstance(UtxJNDIFactory.java:107)
	at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:314)
	at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:894)
	at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookup(Helpers.java:701)
	at com.ibm.ws.naming.jndicos.CNContextImpl.processResolveResults(CNContextImpl.java:1937)
	at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1792)
	at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1707)
	at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1412)
	at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1290)
	at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:145)
	at javax.naming.InitialContext.lookup(InitialContext.java:361)
	at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:124)
	at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:86)

    . . .
And here is the relevent cutout of the Spring transaction manager configuration:

Code:
<bean id="wsJtaTm"
class="org.springframework.transaction.jta.WebSphereTransactionManagerFactoryBean" />

<bean id="transactionManager"
	class="org.springframework.transaction.jta.JtaTransactionManager">

	<property name="transactionManager" ref="wsJtaTm" />
	<property name="userTransactionName"><null /></property>
	<property name="autodetectTransactionManager" value="false" />

</bean>

	<!-- The abstract session factory holding the common configuration -->

<bean id="abstractSessionFactory" abstract="true"
	class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

	<property name="dataSource" ref="APM-DS" />
	<property name="jtaTransactionManager" ref="transactionManager" />
	<property name="hibernateProperties">
		<props>
			<prop key="hibernate.dialect">
				net.sf.hibernate.dialect.Oracle9Dialect
			</prop>

   . . .
With the WAS command dumpNameSpace I checked if the jta/usertransaction does exist in the JNDI name space and it does:

Code:
  16 (top)/nodes/fra10056681Node01/servers/server1/jta  javax.naming.Context
  17 (top)/nodes/fra10056681Node01/servers/server1/jta/usertransaction
  17                                                    java.lang.Object
What goes wrong here? I have no idea and would be appreciative to get hints.

Regards,
Udo