I use a class (named Portable) in an ejb's method like this : package com.thales.is.business.sommaire.impl; import com.thales.is.business.sommaire.*; import javax.naming.*; import javax.sql.*; import javax.ejb.*; import java.sql.*; import java.util.*; import com.thales.is.shared.util.*; public class SommaireBean implements SessionBean { private static final String jndiDb = "java:comp/env/jdbc/InformixDB"; public Iterator domaines() throws Exception { Connection cnx = null; try { //obtain connection to DB cnx = Portable.getConnectionOfPool(jndiDb); stmt = cnx.createStatement(); res = stmt.executeQuery("..."); ... } catch (Exception e) { .... } finally { .... } return new SerIterator(list); } } My class Portable : package com.thales.is.shared.util; import javax.naming.*; import java.sql.*; import javax.sql.*; import java.io.*; import javax.rmi.*; public class Portable { ... public static Connection getConnectionOfPool (String db) { DataSource ds = null; Connection cnx = null; try { ds = (DataSource) new InitialContext().lookup(db); cnx = ds.getConnection(); ... } ... return cnx; } } When i call the method domaines in a JSP page, this exception occure : An exception was thrown: java.rmi.ServerException: Transaction rolled back:com/thales/is/shared/util/Portable With the following stack trace: java.rmi.ServerException: Transaction rolled back:com/thales/is/shared/util/Portable at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:300) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:87) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:137) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195) at org.jboss.ejb.StatelessSessionContainer.invoke(StatelessSessionContainer.java:271) at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:461) at org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke(StatelessSessionProxy.java:152) at $Proxy103.domaines(Unknown Source) at _0002fAcceuil_0005fejb_0002ejspAcceuil_0005fejb_jsp_50._jspService(_0002fAcceuil_0005fejb_0002ejspAcceuil_0005fejb_jsp_50.java:88) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Unknown Source) My JSP : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <%@ page language="java" %> <%@ page errorPage="yaunos.jsp" %> <%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <%@ page import="com.thales.is.business.sommaire.*" %> <%@ page import="com.thales.is.shared.util.*" %> <% SommaireHome home = (SommaireHome)Portable.lookUpEJB("sommaire/Sommaire",SommaireHome.class); Sommaire som = home.create(); Iterator domaines = som.domaines(); %> I don't understand why ??? thanks manuel _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] http://lists.sourceforge.net/lists/listinfo/jboss-user