Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Augusto Póvoa

Erro Webservice!

Recommended Posts

Bom dia a todos,

 

Presciso fazer um Webservice usando o AXIS que traga dados do Banco de Dados.

Li alguns tutorias e consegui faze-lo, porém um exemplo, com somente um metodo que faz uma soma!

 

1) Instalei o Tomcat 6.0

2) Baixei o Axis 1.4.

3) Configurei o Axis 1.4 conforme tutorial.

 

4) Fiz a Classe Servico. java e remoei para jws e coloquei na devida pasta.

public class Servico {   
	   public int soma(int valor1, int valor2) {   
		  return valor1 + valor2;   
	   }   
	}  
public class Servico {
	   public int soma(int valor1, int valor2) {
		  return valor1 + valor2;
	   } 
	}

 

5) Fiz a Classe Cliente.java

import org.apache.axis.client.Service;   
import org.apache.axis.client.Call;   
  
public class Cliente {   
	public static void main(String[] args) throws Exception {   
		// Endereço, local onde encontra-se o Web Service   
		String local = "http://localhost:8080/axis/Servico.jws";   
		   
		// Criando e configurando o serviço   
		Call call = (Call) new Service().createCall();   
		// Configurando o endereço.   
		call.setTargetEndpointAddress(local);   
		// Marcando o método a ser chamado.   
		call.setOperationName("soma");   
		   
		// Parâmetros da função soma.   
		Object[] param = new Object[]{new Integer(2),new Integer(4)};   
		// Retorno da Função   
		Integer ret = (Integer)call.invoke(param);   
		   
		// Imprime o resultado: ret = 2 + 4.   
		System.out.println("Resultado da soma : " + ret);   
	}   
}

 

Otimo! Funcionou!

 

 

O que eu já tentei de varias formas e não consegui foi transformar em Webservice um Classe que traz dados do Banco de Dados.

Vou Descrever o que já fiz e não funcionou!

 

1) Já tenho connector do mysql no lib do meu tomcat.(por via das duvidas coloquei o mesmo na pasta " D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\teste " é a pasta onde estado o .jws

 

2) Minhas Classes que estão dentro de " D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\teste " são:

 

import java.sql.Connection;   
import java.sql.DriverManager;   
import java.sql.SQLException;   
  
public class ConnectionFactory {   
	public static Connection getConnection() throws SQLException {   
		try {   
				Class.forName("com.mysql.jdbc.Driver");   
				System.out.println("Conectando ao banco");   
				return DriverManager.getConnection("jdbc:mysql://localhost/teste", "root", "x");   
			} catch (ClassNotFoundException e) {   
				throw new SQLException(e.getMessage());   
			}   
	}   
}

 

public class Contato {   
  
		private Long id;   
		private String nome;   
		private int idade;   
		public Long getId() {   
			return id;   
		}   
		public void setId(Long id) {   
			this.id = id;   
		}   
		public String getNome() {   
			return nome;   
		}   
		public void setNome(String nome) {   
			this.nome = nome;   
		}   
		public int getIdade() {   
			return idade;   
		}   
		public void setIdade(int idade) {   
			this.idade = idade;   
		}   
	   
		   
}

 

 

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;



import com.mysql.jdbc.ResultSet;


public class ContatoDAO {
	// a conexão com o banco de dados
	private Connection connection;
	
	public ContatoDAO() {
		try {
			this.connection = ConnectionFactory.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
		
	public int getIdade(Long id){
		int idade;
		try{
			PreparedStatement stmt = this.connection.prepareStatement("select * from contatos where id=?");
			stmt.setLong(1,id);
			ResultSet rs = (ResultSet) stmt.executeQuery();
			rs.next();
				
			idade =rs.getInt("idade");
					
			rs.close();
			stmt.close();

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			idade = 0;
		}			
			
		return idade;
	}
	
	
}

 

public class PegaIdade {
		
	public PegaIdade(){
	}
	
	public int getIdade(){
		// pronto para gravar
		Contato contato = new Contato();
		contato.setId(Long.parseLong("1"));

		// grave nessa conexão!!!
		ContatoDAO dao = new ContatoDAO();

		// método elegante
		contato = dao.getLista(contato);
		
		return contato.getIdade();
		
	}
	
}

 

 

3)Renomei a classe PegaIdade.java para .jws e deixei as outras como que estão no mesmo diretorio(D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\teste) sem renomear(Deixei como .java mesmo. Ex.: Contato.java)

 

4)Executei a url http://localhost:8080/axis/teste/PegaIdade.jws?wsdl e apareceu o seguinte erro:

 

AXIS error   
Sorry, something seems to have gone wrong... here are the details:   
  
Fault - Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java   
AxisFault   
faultCode: {http://xml.apache.org/axis/}Server.compileError   
faultSubcode:   
faultString: Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java   
faultActor:   
faultNode:   
faultDetail:   
	{}Errors:Error compiling D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java:   
Line 8, column -1:  cannot find symbol   
Line 8, column -1:  cannot find symbol   
Line 12, column -1:  cannot find symbol   
Line 12, column -1:  cannot find symbol   
Line 0, column 0:   
4 errors  
AXIS error
Sorry, something seems to have gone wrong... here are the details:

Fault - Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.compileError
 faultSubcode: 
 faultString: Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java
 faultActor: 
 faultNode: 
 faultDetail: 
	{}Errors:Error compiling D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java:
Line 8, column -1:  cannot find symbol
Line 8, column -1:  cannot find symbol
Line 12, column -1:  cannot find symbol
Line 12, column -1:  cannot find symbol
Line 0, column 0: 
4 errors

 

 

5)Renomei a classe PegaIdade.java para .jws e todas as outras(ConnectionFactory.jws,Contato.jws,ContatoDAO.jws) que estão no mesmo diretorio(D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\teste)

 

6)Executei a url http://localhost:8080/axis/teste/PegaIdade.jws?wsdl e mesmo assim apareceu o seguinte erro:

 

AXIS error   
Sorry, something seems to have gone wrong... here are the details:   
  
Fault - Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java   
AxisFault   
faultCode: {http://xml.apache.org/axis/}Server.compileError   
faultSubcode:   
faultString: Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java   
faultActor:   
faultNode:   
faultDetail:   
	{}Errors:Error compiling D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java:   
Line 8, column -1:  cannot find symbol   
Line 8, column -1:  cannot find symbol   
Line 12, column -1:  cannot find symbol   
Line 12, column -1:  cannot find symbol   
Line 0, column 0:   
4 errors  
AXIS error
Sorry, something seems to have gone wrong... here are the details:

Fault - Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.compileError
 faultSubcode: 
 faultString: Error while compiling:  D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java
 faultActor: 
 faultNode: 
 faultDetail: 
	{}Errors:Error compiling D:\Java\Arquivos_de_Programa\Tomcat6\webapps\axis\WEB-INF\jwsClasses\teste\PegaIdade.java:
Line 8, column -1:  cannot find symbol
Line 8, column -1:  cannot find symbol
Line 12, column -1:  cannot find symbol
Line 12, column -1:  cannot find symbol
Line 0, column 0: 
4 errors

 

Ja li muita coisa net(3 dias sem parar!rsrs), agradeço a todos que leram estes topico.

Todos exemplos e Dicas me ajudaram muito.

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.