Title: Connecting to a dsn

Hi,

I have a bean instantiated within my web service that connects to a dsn,
however I am having some difficulty at the moment.

I am trying to connect to MSSQL server using jtds,
I followed this procedure from apache site under JNDI Datasource HOW-TO,

server.xml
=============
<Context path="/axis" docBase="axis" debug="5" reloadable="true" crossContext="true">
       
                        <Logger className="org.apache.catalina.logger.FileLogger"
                                        prefix="localhost_neotest_log." suffix=".txt"
                        timestamp="true"/>
       
                        <Resource name="jdbc/axis"
                                  auth="Container"
                                  type="javax.sql.DataSource"/>
       
                        <ResourceParams name="jdbc/axis">
                            <parameter>
                              <name>factory</name>
                              <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
                            </parameter>
       
                            <!-- Maximum number of dB connections in pool. Make sure you
                                 configure your mysqld max_connections large enough to handle
                                 all of your db connections. Set to 0 for no limit.
                                 -->
                            <parameter>
                              <name>maxActive</name>
                              <value>10</value>
                            </parameter>
       
                            <!-- Maximum number of idle dB connections to retain in pool.
                                 Set to 0 for no limit.
                                 -->
                            <parameter>
                                <name>maxIdle</name>
                                <value>5</value>
                            </parameter>
       
                            <!-- Maximum time to wait for a dB connection to become available
                                 in ms, in this example 10 seconds. An Exception is thrown if
                                 this timeout is exceeded.  Set to -1 to wait indefinitely.
                                 -->
                            <parameter>
                                <name>maxWait</name>
                                <value>10000</value>
                            </parameter>
       
                            <!-- MySQL dB username and password for dB connections  -->
                            <parameter>
                                <name>username</name>
                                <value>sa</value>
                            </parameter>
                            <parameter>
                                <name>password</name>
                                <value></value>
                            </parameter>
       
                            <!-- Class name JDBC driver (tds)-->
                            <parameter>
                               <name>driverClassName</name>
                               <value>net.sourceforge.jtds.jdbc.Driver</value>
                            </parameter>
       
                            <!-- The JDBC connection url for connecting to your MySQL dB.
                                 The autoReconnect=true argument to the url makes sure that the
                                 mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
                                 connection.  mysqld by default closes idle connections after 8 hours.
                                 -->
                            <parameter>
                                <name>url</name>
                                <value>jdbc:jtds:sqlserver://devserver:1433/MyWebService?autoReconnect=true</value>
                            </parameter>
                        </ResourceParams>
                </Context>

this is my bean, it is just a test table at the moment,
I only want to select data and dump it to a log file,

package com.leocate.database;

import javax.naming.*;
import javax.sql.*;
import java.sql.*;

import com.leocate.logging.NeoFaultLogging;
import com.leocate.logging.NeoTraceLogging;

public class NeoTestConnection {
       
        private NeoTraceLogging traceLogger;
       
        public NeoTestConnection(){}
       
        public void connectToDsn(){
                try{
                        this.traceLogger = new NeoTraceLogging("c:\\webserviceLogs\\logs\\jdbcsuccess.log");
                        Context ctx = new InitialContext();
                        if(ctx==null){
                                NeoFaultLogging logger = new NeoFaultLogging("c:\\webserviceLogs\\logs\\jdbcfault.log");

                                logger.writeFault(new Exception("No Connection"),"jndi connection");
                        }
                        DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/neotest");
                        if(ds!=null){
                                Connection conn = ds.getConnection();
                                if(conn!=null){
                                        Statement stmt = conn.createStatement();
                                        ResultSet rst = stmt.executeQuery("select a,b,c,d,e,f,g,h,i,j,k from NeoTestTable");

                                        if(rst.next()){
                                                traceLogger.writeLog(rst.getString(1));
                                                traceLogger.writeLog(rst.getString(2));
                                                traceLogger.writeLog(rst.getString(3));
                                                traceLogger.writeLog(rst.getString(4));
                                                traceLogger.writeLog(rst.getString(5));
                                                traceLogger.writeLog(rst.getString(6));
                                                traceLogger.writeLog(rst.getString(7));
                                                traceLogger.writeLog(rst.getString(8));
                                                traceLogger.writeLog(rst.getString(9));
                                                traceLogger.writeLog(rst.getString(10));
                                                traceLogger.writeLog(rst.getString(11));
                                                traceLogger.writeLog(rst.getString(12));
                                        }
                                        conn.close();
                                        traceLogger.saveLog();
                                }
                        }
                }catch(Exception e){
                        NeoFaultLogging logger = new NeoFaultLogging("c:\\webserviceLogs\\logs\\jdbcfault.log");
                        logger.writeFault(e,"dsn connection fault");
                }finally{
                        try{traceLogger.recoverClose();}catch(Exception rc){}
                }
        }
       
}

however I get this error,
==============================================================================
dsn connection fault
Details :
date / time : Thu Nov 18 09:51:49 GMT 2004
----
javax.naming.NameNotFoundException: Name neotest is not bound in this Context
        at org.apache.naming.NamingContext.lookup(NamingContext.java:811)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
        at org.apache.naming.SelectorContext.lookup(SelectorContext.java:183)
        at javax.naming.InitialContext.lookup(InitialContext.java:347)
        at com.leocate.database.NeoTestConnection.connectToDsn(NeoTestConnection.java:36)
        at com.leocate.trends.TrendsContentHandler.endDocument(TrendsContentHandler.java:64)
        at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source)
        at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source)
        at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
        at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 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 com.leocate.trends.RegisterTrendsContentHandler.parseXmlSrc(RegisterTrendsContentHandler.java:70)
        at com.leocate.spreadSheets.SpreadSheetContentHandler.endDocument(SpreadSheetContentHandler.java:70)
        at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source)
        at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source)
        at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
        at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 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 com.leocate.spreadSheets.ContentHandlerPublishingBean.parseXmlSrc(ContentHandlerPublishingBean.java:69)
        at com.leocate.spreadSheets.ExcelPublishingService.createSpreadSheet(ExcelPublishingService.java:34)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.axis.providers.java.RPCProvider.invokeMethod(Unknown Source)
        at org.apache.axis.providers.java.RPCProvider.processMessage(Unknown Source)
        at org.apache.axis.providers.java.JavaProvider.invoke(Unknown Source)
        at org.apache.axis.strategies.InvocationStrategy.visit(Unknown Source)
        at org.apache.axis.SimpleChain.doVisiting(Unknown Source)
        at org.apache.axis.SimpleChain.invoke(Unknown Source)
        at org.apache.axis.server.AxisServer.invoke(Unknown Source)
        at org.apache.axis.transport.http.AxisServlet.doPost(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:536)
----

thanks for any help or advice,

jp.

Reply via email to