No problem. One of the typical causes of this error is the <Resource
... /> element is missing or doesn't match what you've declared in
axis2/WEB-INF/web.xml. In your case it could be there's a completing
<Context ... >...</Context> definition at
conf/Catalina/localhost/axis2.xml? If so, delete the axis2.xml (or use
it and fix it's declaration) and restart tomcat.
Also be sure your mysql driver jar file is in tomcat's common/lib
directory. I would think the error would be different if this weren't
in the right place, but it's a good thing to check anyway.... especially
since the direct connect method worked in your original post.
--David
albert quinn wrote:
> Hi David !! :
>
> Many thanks for your advices. I've tried it. I've dropped the
> context definition in my server.xml (i'd put it there after reading
> this tutorial
> http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html
>
> in the Tomcat docs), i've fixed the port number in my
> "axis2/META-INF/context.xml file" and dropped the "autoReconnect"
> paramater, adding validationQuery="select 1" to my Resource element.
>
> After that changes, i've removed the Tomcat logs and reboot Tomcat.
> Then I've tried the web service, getting this new Exception message :
>
> Cannot create JDBC driver of class '' for connect URL 'null'
>
>
> Then I've read the Tomcat logs looking for ideas about what F@#$%&
> is going wrong with this, but I've not found any information that help
> to discover what's happening. Any new ideas about what's going on or
> about how to find the problem?
>
> Many thanks again by spending your (sure precious) time with this.
>
>
>
>
>
>
> 2007/7/12, David Smith <dns4@(protected)>:
>
>> I'd recommend dropping the context definition in your server.xml. Under
>> normal conditions you should never have to modify that file except to
>> alter server-wide settings like which ports it listens on.
>>
>> Also looking at your axis2/META-INF/context.xml file, I see the port
>> number is incorrect.
>>
>> Lastly, I would recommend you drop the autoReconnect parameter of your
>> database url and add validationQuery="select 1" to your Resource
>> element. Autoreconnect is of minimal usefullness and validationQuery
>> can test the db connection before your app attemps to use it.
>>
>> --David
>>
>> albert quinn wrote:
>> > Hi ! :
>> >
>> > First of all : excuse my poor english. Second : I'm trying to set up
>> > a MySQL connection pool on Tomcat 5.5.17 (running over Windows XP) to
>> > connect to a remote DB from a web service running on the Axis 2
>> > deployed in Tomcat. I've read the Tomcat docs and the Tomcat mailing
>> > lists but i've not founded any answers that help me to fix the
>> > problem. I've this in my "conf\server.xml" :
>> >
>> >
>> > .....
>> > <Context docBase="axis2" path="C:\Archivos de
>> > programa\Apache Software Foundation\Tomcat 5.5\webapps\axis2"
>> > reloadable="true">
>> >
>> > <Resource auth="Container" driverClassName="
>> >
com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000"
>> > name="java:comp/env/jdbc/DB" password="mypassword"
>> > type="
javax.sql.DataSource"
>> > url="jdbc:mysql://remoteaddress.com:3306/db?autoReconnect=true"
>> > username="myname"/>
>> >
>> > </Context>
>> > </Host>
>> >
>> > ....
>> >
>> >
>> > I've this "C:\Archivos de programa\Apache Software Foundation\Tomcat
>> > 5.5\webapps\axis2\META-INF\context.xml " file :
>> >
>> > <?xml version="1.0" encoding="UTF-8"?>
>> > <Context>
>> >
>> > <WatchedResource>WEB-INF/web.xml</WatchedResource>
>> >
>> > <Resource auth="Container" driverClassName="
>> >
com.mysql.jdbc.Driver" maxActive="100" maxIdle="30" maxWait="10000"
>> > name="jdbc/DB" password="mypassword" type="
javax.sql.DataSource"
>> > url="jdbc:mysql://remoteaddress.com:3036/db?autoReconnect=true"
>> > username="myname"/>
>> >
>> > </Context>
>> >
>> > I've these lines in "C:\Archivos de programa\Apache Software
>> > Foundation\Tomcat 5.5\webapps\axis2\WEB-INF\web.xml"
>> >
>> > <resource-ref>
>> > <description>
>> > a description
>> > </description>
>> > <res-ref-name>
>> > jdbc/DB
>> > </res-ref-name>
>> > <res-type>
>> >
javax.sql.DataSource>> > </res-type>
>> > <res-auth>
>> > Container
>> > </res-auth>
>> > </resource-ref>
>> >
>> > When i call the web service running on Axis 2, after a long time i
>> > get the next Exception message :
>> >
>> > Cannot create PoolableConnectionFactory (Server connection failure
>> > during transaction. Due to underlying exception:
>> > '
java.net.SocketException:
java.net.NoRouteToHostException: No route
>> > to host: connect'.
>> >
>> > ** BEGIN NESTED EXCEPTION **
>> >
>> >
java.net.SocketException>> > MESSAGE:
java.net.NoRouteToHostException: No route to host: connect
>> >
>> > STACKTRACE:
>> >
>> >
java.net.SocketException:
java.net.NoRouteToHostException: No route to
>> > host: connect
>> >
>> > at
>> >
>>
com.mysql.jdbc.StandardSocketFactory.connect (
StandardSocketFactory.java:156)
>>
>> >
>> >
>> > at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
>> >
>> > at
com.mysql.jdbc.Connection.createNewIO (
Connection.java :2680)
>> >
>> > at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
>> >
>> > at
>> >
>>
com.mysql.jdbc.NonRegisteringDriver.connect (
NonRegisteringDriver.java:266)
>>
>> >
>> >
>> > at
>> > org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection
>> > (DriverConnectionFactory.java:37)
>> >
>> > at
>> >
>> org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
>>
>> >
>> >
>> > at
>> > org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory
>> > (BasicDataSource.java:877)
>> >
>> > at
>> >
>> org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
>>
>> >
>> >
>> > at
>> >
>> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
>>
>> >
>> >
>> > at code.prueba.PruebaBD.getUserLogin(PruebaBD.java:20)
>> >
>> > at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >
>> > at
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> >
>> > at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> >
>> > at
java.lang.reflect.Method.invoke(Unknown Source)
>> >
>> > at
>> >
>>
org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic (
RPCMessageReceiver.java >>
>> >
>> > :91)
>> >
>> > at
>> >
>>
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive (
AbstractInOutSyncMessageReceiver.java:39)
>>
>> >
>> >
>> > at
org.apache.axis2.engine.AxisEngine.receive (
AxisEngine.java:144)
>> >
>> > at
>> >
>>
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine (
RESTUtil.java:122)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.axis2.transport.http.util.RESTUtil.processURLRequest (
RESTUtil.java:116)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.axis2.transport.http.AxisServlet$ProcessRESTRequest.processURLRequest
>>
>> >
>> > (AxisServlet.java:776)
>> >
>> > at
>> >
>>
org.apache.axis2.transport.http.AxisServlet.doGet (
AxisServlet.java:238)
>> >
>> > at
javax.servlet.http.HttpServlet.service (
HttpServlet.java:689)
>> >
>> > at
javax.servlet.http.HttpServlet.service (
HttpServlet.java:802)
>> >
>> > at
>> >
>>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (
ApplicationFilterChain.java:252)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.catalina.core.ApplicationFilterChain.doFilter (
ApplicationFilterChain.java >>
>> >
>> > :173)
>> >
>> > at
>> >
>>
org.apache.catalina.core.StandardWrapperValve.invoke (
StandardWrapperValve.java:213)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.catalina.core.StandardContextValve.invoke (
StandardContextValve.java:178)
>>
>> >
>> >
>> > at
org.apache.catalina.core.StandardHostValve.invoke>> > (StandardHostValve.java:126)
>> >
>> > at
>> >
>>
org.apache.catalina.valves.ErrorReportValve.invoke (
ErrorReportValve.java:105)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.catalina.core.StandardEngineValve.invoke (
StandardEngineValve.java:107)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.catalina.connector.CoyoteAdapter.service (
CoyoteAdapter.java:148)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.coyote.http11.Http11Processor.process (
Http11Processor.java:869)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
>>
>> >
>> > (Http11BaseProtocol.java:664)
>> >
>> > at
>> >
>>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (
PoolTcpEndpoint.java:527)
>>
>> >
>> >
>> > at
>> >
>>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (
LeaderFollowerWorkerThread.java >>
>> >
>> > :80)
>> >
>> > at
>> >
>>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>>
>> >
>> >
>> > at
java.lang.Thread.run(Unknown Source)
>> >
>> >
>> >
>> > ** END NESTED EXCEPTION **
>> >
>> >
>> > Attempted reconnect 3 times. Giving up.)
>> >
>> >
>> > I've tried to turn it off the FireWall, but i've got the same
>> > Exception message. The lines in the web service are :
>> >
>> >
>> > Context oContext = new InitialContext();
>> > DataSource oDataSource = (DataSource)
>> > oContext.lookup("java:comp/env/jdbc/DB");
>> > Connection oConnection = oDataSource.getConnection();
>> >
>> > I've tried to modify the web service to connect to the DB using the
>> > JDBC Driver directly with :
>> >
>> >
>> > Class jdbcDriverClass = Class.forName(
>> > "
com.mysql.jdbc.Driver" );
>> > Driver oDriver = (Driver) jdbcDriverClass.newInstance();
>> > DriverManager.registerDriver(oDriver);
>> > Connection oConnection =
>> >
>> DriverManager.getConnection("jdbc:mysql://remoteaddress.com:3306/db","myname","mypassword");
>>
>> >
>> >
>> > That way i can connect to the remote database without problems. Of
>> > course i've the mysql jar in the Tomcat's "common\lib" directory. But
>> > after many hours of reading and trying and knocking on heaven's door
>> > (hard, with the head!! ;) i've no idea of what is happening, even
>> > worse... i've no idea of what to do to find the problem. Does anybody
>> > have any idea to help me to discover where is the problem? Many thanks
>> > to anybody who help!!!!
>> >
>> >
>
---------------------------------------------------------------------
To start a new topic, e-mail: users@(protected)
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)