Erro no Web Service - Cannot create JDBC driver of class '' for connect URL 'null'[RESOLVIDO]

1 resposta
D

Bom dia pessoal,

Estou com um problema, mas que para mim parece um PROBLEMÃO.

É o seguinte, ainda sou um pouco iniciante em java e estou tendo que configurar um Web Service aqui no serviço, porém está dando um erro. Já procurei na net mas não encontro algo que me ajude. O erro é esse
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
	at webservice.NotaFiscalTeste.login(NotaFiscalTeste.java:40)
	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:585)
	at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
	at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
	at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
	at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
	at org.apache.axis.transport.http.QSMethodHandler.invokeEndpointFromGet(QSMethodHandler.java:130)
	at org.apache.axis.transport.http.QSMethodHandler.invoke(QSMethodHandler.java:95)
	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:585)
	at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226)
	at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:395)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
	at servlet.RedirecionadorTeste.doGet(RedirecionadorTeste.java:28)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: No suitable driver
	at java.sql.DriverManager.getDriver(DriverManager.java:243)
	at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
	... 48 more
Server.xml
<Resource name="jdbc/OracleDSYA" auth="Container"
                  type="javax.sql.DataSource" driverClassName="oracle.jdbc.pool.OracleDataSource"
                  description="Banco para Webservice Teste"
                  url="jdbc:oracle:thin:@192.168.123.6:xxxx:xx"
                  username="user" password="pass" initialSize="5" maxActive="200" maxIdle="120" minIdle="100"
                  accessToUnderlyingConnectionAllowed="true" maxWait="-1"/>
Web.xml
<description>Linx.NFe.Receptor Oracle Teste</description>
  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/OracleDSYA</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
Context.xml
<Resource name="jdbc/OracleDSYA" auth="Container"
		type="javax.sql.DataSource" maxActive="20" maxIdle="10"
		username="user" password="pass"  
		driverClassName="oracle.jdbc.driver.OracleDriver"
		url="jdbc:oracle:thin:@192.168.123.6:xxxx:xx"
		/>
e a class.java
public boolean login( String user, String password, String[] args ) throws Exception{

		boolean retorno = false;
		//Connection con = null;
		Connection con = null;
		CallableStatement cs = null;
		try{
			System.out.println ( "user: " + user + " - password: " + password );
			Context context = new InitialContext();
			Context envCtx = (Context)context.lookup("java:comp/env");
		        DataSource ds = (DataSource)envCtx.lookup("jdbc/OracleDSYA");
			con = ds.getConnection();
			cs = con.prepareCall("{ call PCKG_WS_COL_VENDAS.PRCD_LOGIN(?,?,?) }");
			cs.setString( 1, user.toUpperCase().trim() );
			cs.setString( 2, password.toUpperCase().trim() );
			cs.registerOutParameter( 3, Types.INTEGER );
			
			cs.execute();
			System.out.println(cs.getInt( 3 ));
			if( cs.getInt( 3 ) == 1 ){
				retorno = true;	
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (NamingException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (cs != null) {
				try {
					cs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (con != null) {
				try {
					con.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
		return retorno;
	}

Já configurei server.xml, web.xml,context.xml......E nada....
Já comprei um livro para ver se me ajuda e nada.... O pior é que eu preciso disso pra hoje... alguem saberia me dar um helP????

Obrigada!!!!

1 Resposta

D

Pessoal, já consegui resolver…Obrigada…
O problema era que eu estava configurando no server.xml do tomcat quando na verdade as configurações deveriam de ser feitas no context.xml dentro da aplicação
=]

Criado 22 de julho de 2010
Ultima resposta 22 de jul. de 2010
Respostas 1
Participantes 1