Dúvida WebServices

1 resposta
T

Pessoal, tenho o seguinte código
import java.sql.*;

class Usuario {

private String login;

private String senha;

private Connection connection;

public Usuario() throws SQLException {
	try {
		Class.forName("com.mysql.jdbc.Driver");
		this.connection = DriverManager.getConnection("jdbc:mysql://localhost/teste", "root","");
	} catch (ClassNotFoundException e) {
		throw new SQLException(e.getMessage());
	}

}

public String getSenha() {
	return senha;
}

public void setSenha(String senha) {
	this.senha = senha;
}

public String getLogin() {
	return login;
}

public void setUsuario(String login) {
	this.login = login;
}

public boolean getUsuario(String login, String senha) throws SQLException {
	PreparedStatement stmt = this.connection.prepareStatement("select login from usuario where login = ? and senha = ?");
	stmt.setString(1, login);
	stmt.setString(2, senha);
	ResultSet rs = stmt.executeQuery();
	String result = "";
	while (rs.next()) {
		result = rs.getString("login");
	}
	
	rs.close();
	stmt.close();

	return result != "";
}

}

Porém, quando vou tentar gerar o wsdl no axis, ele me retorna o seguinte erro:

  • Unable to find config file. Creating new servlet engine config file: /WEB-INF/server-config.wsdd
  • Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
  • Unable to find config file. Creating new servlet engine config file: /WEB-INF/server-config.wsdd
  • Exception:
    java.lang.NoClassDefFoundError: usuario (wrong name: Usuario)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at org.apache.axis.utils.JWSClassLoader.<init>(JWSClassLoader.java:69)
    at org.apache.axis.handlers.JWSHandler.setupService(JWSHandler.java:243)
    at org.apache.axis.handlers.JWSHandler.generateWSDL(JWSHandler.java:294)
    at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
    at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:454)
    at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
    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.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:689)
    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    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.Http11AprProcessor.process(Http11AprProcessor.java:831)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:639)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1203)
    at java.lang.Thread.run(Unknown Source)

Alguem poderia me dar uma luz…algo que eu possa fazer…
eu quero construir um webservices que conecte no banco mysql…

Obrigado…

1 Resposta

C

Thiago,
Acho que seria melhor você primeiro separar a classe que conecta com o banco da classe usuario e só depois gerar um web service que te retorne os dados necessários. Ou seja, disponibilizar apenas o serviço em si.

Por exemplo:

  1. criar uma classe de conexao
  2. criar uma classe usuário
  3. criar o arquivo WSDD retornando apenas o usuário

Dessa forma a tua aplicação fara todo o “trabalho” de autenticação e validação através de um web service

Criado 29 de abril de 2007
Ultima resposta 7 de mai. de 2007
Respostas 1
Participantes 2