Java WebService客户端错误生成
首先,很抱歉我的英语不好 我在生成Web服务时遇到问题。 我有我的lib模型,它包含Endereco、Cidade e Cliente类,还有我的DAO lib,它包含这些模型的数据库访问类。 在Endereco.java类中,我有一个私有属性Cidade。 我已经得到了一个Web服务来控制前端和后端。 问题是,当我生成这个webservice类“address”时,会得到int属性city,而不是基类“Cidade”的属性 遵循课程代码: “ENDERECO.java”: “CIDADE.java”: “enderecdao.java”:Java WebService客户端错误生成,java,web-services,webservice-client,Java,Web Services,Webservice Client,首先,很抱歉我的英语不好 我在生成Web服务时遇到问题。 我有我的lib模型,它包含Endereco、Cidade e Cliente类,还有我的DAO lib,它包含这些模型的数据库访问类。 在Endereco.java类中,我有一个私有属性Cidade。 我已经得到了一个Web服务来控制前端和后端。 问题是,当我生成这个webservice类“address”时,会得到int属性city,而不是基类“Cidade”的属性 遵循课程代码: “ENDERECO.java”: “CIDADE.ja
package lib.dao;
导入java.sql.Connection;
导入java.sql.PreparedStatement;
导入java.sql.ResultSet;
导入java.sql.SQLException;
导入java.util.ArrayList;
导入java.util.List;
进口lib.banco.ConexaoBanco;
导入lib.modelo.Endereco;
公共类{
私有静态最终字符串CONSULTA_POR_ID=“SELECT*FROM cadastros.cliente_endereco,其中ID=?;”;
私有静态最终字符串CONSULTA_POR_CLIENTE=“SELECT*FROM cadastros.CLIENTE_endereco,其中fK_CLIENTE=?;”;
私有静态最终字符串INSERE=“插入到cadastros.cliente_endereco(fk_cliente,endereco,numero,complemento,fk_cidade,bairro,uf,cep)值(?,,,,,,,,,,,?,,;”;
私有静态最终字符串ALTERA=“UPDATE cadastros.cliente_endereco SET endereco=?,numero=?,complemento=?,fk_cidade=?,bairro=?,uf=?,cep=?其中fk_cliente=?和id=?”;
公共列表ConsultarEnderRecopportClient(int codCliente)引发SQLException{
连接conexaoSQL=null;
ResultSet rsEndereco=null;
List listaEndereco=新建ArrayList();
ClienteDAO ClienteDAO=新ClienteDAO();
CidadeDAO CidadeDAO=新CidadeDAO();
试一试{
conexaoSQL=ConexaoBanco.getConexao(“selecao”);
PreparedStatement pstmt=conexaoSQL.PreparedStatement(咨询客户);
pstmt.setInt(1,codCliente);
rsEndereco=pstmt.executeQuery();
while(rsEndereco.next()){
Endereco Endereco=新的Endereco();
endereco.setId(rsEndereco.getInt(“id”);
endereco.setCliente(clienteDAO.CousultaPorId(rsEndereco.getInt(“fk_cliente”));
endereco.setEndereco(rsEndereco.getString(“endereco”);
endereco.setNumero(rsEndereco.getString(“numero”);
endereco.setComplemento(rsEndereco.getString(“complemento”);
endereco.setCidade(cidadeDAO.consultaPorId(rsEndereco.getInt)(“fk_cidade”));
endereco.setBairro(rsEndereco.getString(“bairro”);
endereco.setUf(rsEndereco.getString(“uf”));
endereco.setCep(rsEndereco.getString(“cep”);
添加(endereco);
}
rsEndereco.close();
conexaoSQL.close();
}捕获(例外e){
conexaoSQL.close();
抛出新的运行时异常(e);
}
返回listaEndereco;
}
公共布尔地籍渲染器(Endereco Endereco)引发SQLException{
布尔状态=假;
连接conexaoSQL=null;
试一试{
conexaoSQL=ConexaoBanco.getConexao(“insercao”);
PreparedStatement pstmt=conexaoSQL.prepareStatement(插图);
setInt(1,endereco.getCliente().getId());
pstmt.setString(2,endereco.getEndereco());
pstmt.setString(3,endereco.getNumero());
pstmt.setString(4,endereco.getComplemento());
setInt(5,endereco.getCidade().getId());
pstmt.setString(6,endereco.getBairro());
pstmt.setString(7,endereco.getUf());
pstmt.setString(8,endereco.getCep());
pstmt.execute();
conexaoSQL.close();
状态=真;
}捕获(例外e){
conexaoSQL.close();
抛出新的运行时异常(e);
}
返回状态;
}
公共布尔AlterarEndereco(Endereco Endereco)引发SQLException{
布尔状态=假;
连接conexaoSQL=null;
试一试{
conexaoSQL=ConexaoBanco.getConexao(“alteraco”);
PreparedStatement pstmt=conexaoSQL.prepareStatement(ALTERA);
pstmt.setString(1,endereco.getEndereco());
pstmt.setString(2,endereco.getNumero());
pstmt.setString(3,endereco.getComplemento());
setInt(4,endereco.getCidade().getId());
pstmt.setString(5,endereco.getBairro());
pstmt.setString(6,endereco.getUf());
pstmt.setString(7,endereco.getCep());
setInt(8,endereco.getCliente().getId());
setInt(9,endereco.getId());
pstmt.execute();
conexaoSQL.close();
pstmt.close();
状态=真;
}捕获(例外e){
conexaoSQL.close();
抛出新的运行时异常(e);
}
返回状态;
}
public-Endereco-ConsultarEnderecoPorId(int-codEndereco)抛出SQLException{
连接conexaoSQL=null;
ResultSet rsEndereco=null;
Endereco Endereco=新的Endereco();
CidadeDAO CidadeDAO=新CidadeDAO();
ClienteDAO ClienteDAO=新ClienteDAO();
试一试{
conexaoSQL=ConexaoBanco.getConexao(“selecao”);
PreparedStatement pstmt=conexaoSQL.prepareStatement(咨询文件ID);
pstmt.setInt(1,codEndereco);
rsEndereco=pstmt.executeQuery();
if(rsEndereco.next()){
endereco.setBairro(rsEndereco.getString(“bairro”);
endereco.setCep(rsEndereco.getString(“cep”);
endereco.setCidade(cidadeDAO.consultaPorId(rsEndereco.getInt)(“fk_cidade”));
endereco.setCliente(clienteDAO.CousultaPorId(rsEndereco.getInt(“fk_cliente”));
endereco.setComplemento(rsEndereco.getString(“complemento”);
endereco.setEndereco(rsEndereco.getString(“endereco”);
endereco.setId(rsEndereco.getInt(“id”);
endereco.setNumero(rsEndereco.getString(“numero”);
endereco.setUf(rsEndereco.getString
package lib.modelo;
public class Endereco {
private int id;
private Cliente cliente;
private String endereco;
private String numero;
private String complemento;
private Cidade cidade;
private String bairro;
private String uf;
private String cep;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
}
package lib.modelo;
public class Cidade {
private int id;
private String descricao;
private double valor_taxa;
public double getValor_taxa() {
return valor_taxa;
}
public void setValor_taxa(double valor_taxa) {
this.valor_taxa = valor_taxa;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
}
package lib.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import lib.banco.ConexaoBanco;
import lib.modelo.Endereco;
public class EnderecoDAO {
private static final String CONSULTA_POR_ID = "SELECT * FROM cadastros.cliente_endereco WHERE id = ?;";
private static final String CONSULTA_POR_CLIENTE = "SELECT * FROM cadastros.cliente_endereco WHERE fK_cliente = ?;";
private static final String INSERE = "INSERT INTO cadastros.cliente_endereco ( fk_cliente , endereco , numero , complemento , fk_cidade , bairro , uf , cep) VALUES ( ?, ?, ?, ?, ?, ?, ?, ? );";
private static final String ALTERA = "UPDATE cadastros.cliente_endereco SET endereco = ?, numero = ?, complemento = ?, fk_cidade = ?, bairro = ?, uf = ?, cep = ? WHERE fk_cliente = ? AND id = ?;";
public List<Endereco> ConsultarEnderecoPorCliente (int codCliente) throws SQLException{
Connection conexaoSQL = null;
ResultSet rsEndereco = null;
List<Endereco> listaEndereco = new ArrayList<Endereco>();
ClienteDAO clienteDAO = new ClienteDAO();
CidadeDAO cidadeDAO = new CidadeDAO();
try{
conexaoSQL = ConexaoBanco.getConexao("selecao");
PreparedStatement pstmt = conexaoSQL.prepareStatement(CONSULTA_POR_CLIENTE);
pstmt.setInt(1, codCliente);
rsEndereco = pstmt.executeQuery();
while (rsEndereco.next()){
Endereco endereco = new Endereco();
endereco.setId(rsEndereco.getInt("id"));
endereco.setCliente(clienteDAO.CousultaPorId(rsEndereco.getInt("fk_cliente")));
endereco.setEndereco(rsEndereco.getString("endereco"));
endereco.setNumero(rsEndereco.getString("numero"));
endereco.setComplemento(rsEndereco.getString("complemento"));
endereco.setCidade(cidadeDAO.consultaPorId(rsEndereco.getInt("fk_cidade")));
endereco.setBairro(rsEndereco.getString("bairro"));
endereco.setUf(rsEndereco.getString("uf"));
endereco.setCep(rsEndereco.getString("cep"));
listaEndereco.add(endereco);
}
rsEndereco.close();
conexaoSQL.close();
}catch(Exception e){
conexaoSQL.close();
throw new RuntimeException(e);
}
return listaEndereco;
}
public boolean CadastrarEndereco (Endereco endereco) throws SQLException{
boolean status = false;
Connection conexaoSQL = null;
try {
conexaoSQL = ConexaoBanco.getConexao("insercao");
PreparedStatement pstmt = conexaoSQL.prepareStatement(INSERE);
pstmt.setInt(1, endereco.getCliente().getId());
pstmt.setString(2, endereco.getEndereco());
pstmt.setString(3, endereco.getNumero());
pstmt.setString(4, endereco.getComplemento());
pstmt.setInt(5, endereco.getCidade().getId());
pstmt.setString(6, endereco.getBairro());
pstmt.setString(7, endereco.getUf());
pstmt.setString(8, endereco.getCep());
pstmt.execute();
conexaoSQL.close();
status = true;
} catch (Exception e) {
conexaoSQL.close();
throw new RuntimeException(e);
}
return status;
}
public boolean AlterarEndereco (Endereco endereco) throws SQLException{
boolean status = false;
Connection conexaoSQL = null;
try {
conexaoSQL = ConexaoBanco.getConexao("alteracao");
PreparedStatement pstmt = conexaoSQL.prepareStatement(ALTERA);
pstmt.setString(1, endereco.getEndereco());
pstmt.setString(2, endereco.getNumero());
pstmt.setString(3, endereco.getComplemento());
pstmt.setInt(4, endereco.getCidade().getId());
pstmt.setString(5, endereco.getBairro());
pstmt.setString(6, endereco.getUf());
pstmt.setString(7, endereco.getCep());
pstmt.setInt(8, endereco.getCliente().getId());
pstmt.setInt(9, endereco.getId());
pstmt.execute();
conexaoSQL.close();
pstmt.close();
status = true;
} catch (Exception e) {
conexaoSQL.close();
throw new RuntimeException(e);
}
return status;
}
public Endereco ConsultarEnderecoPorId (int codEndereco) throws SQLException{
Connection conexaoSQL = null;
ResultSet rsEndereco = null;
Endereco endereco = new Endereco();
CidadeDAO cidadeDAO = new CidadeDAO();
ClienteDAO clienteDAO = new ClienteDAO();
try {
conexaoSQL = ConexaoBanco.getConexao("selecao");
PreparedStatement pstmt = conexaoSQL.prepareStatement(CONSULTA_POR_ID);
pstmt.setInt(1, codEndereco);
rsEndereco = pstmt.executeQuery();
if(rsEndereco.next()){
endereco.setBairro(rsEndereco.getString("bairro"));
endereco.setCep(rsEndereco.getString("cep"));
endereco.setCidade(cidadeDAO.consultaPorId(rsEndereco.getInt("fk_cidade")));
endereco.setCliente(clienteDAO.CousultaPorId(rsEndereco.getInt("fk_cliente")));
endereco.setComplemento(rsEndereco.getString("complemento"));
endereco.setEndereco(rsEndereco.getString("endereco"));
endereco.setId(rsEndereco.getInt("id"));
endereco.setNumero(rsEndereco.getString("numero"));
endereco.setUf(rsEndereco.getString("uf"));
}
} catch (Exception e) {
throw new RuntimeException(e);
}
conexaoSQL.close();
rsEndereco.close();
return endereco;
}
}
package lib.webservice.endereco;
import java.util.ArrayList;
import java.util.List;
import lib.dao.EnderecoDAO;
import lib.modelo.Cidade;
import lib.modelo.Cliente;
import lib.modelo.Endereco;
public class ServicoEndereco {
public Endereco[] consultaPorCliente(int id){
EnderecoDAO eDAO = new EnderecoDAO();
List< Endereco > listaEndereco = new ArrayList<Endereco>();
try{
listaEndereco = eDAO.ConsultarEnderecoPorCliente( id );
}catch(Exception e){
throw new RuntimeException(e);
}
return listaEndereco.toArray( new Endereco[0] );
}
public boolean cadastra( Cliente cliente , String logradouro , String numero ,
String complemento , Cidade cidade , String bairro ,
String uf , String cep){
boolean status = false;
try{
Endereco endereco = new Endereco();
EnderecoDAO eDAO = new EnderecoDAO();
endereco.setCliente(cliente);
endereco.setEndereco(logradouro);
endereco.setNumero(numero);
endereco.setComplemento(complemento);
endereco.setCidade(cidade);
endereco.setBairro(bairro);
endereco.setUf(uf);
endereco.setCep(cep);
status = eDAO.CadastrarEndereco(endereco);
}catch(Exception e){
throw new RuntimeException(e);
}
return status;
}
public boolean altera(Cliente cliente , String logradouro , String numero ,
String complemento , Cidade cidade , String bairro ,
String uf , String cep , int id){
boolean status = false;
try{
Endereco endereco = new Endereco();
EnderecoDAO eDAO = new EnderecoDAO();
endereco.setCliente(cliente);
endereco.setEndereco(logradouro);
endereco.setNumero(numero);
endereco.setComplemento(complemento);
endereco.setCidade(cidade);
endereco.setBairro(bairro);
endereco.setUf(uf);
endereco.setCep(cep);
endereco.setId(id);
status = eDAO.AlterarEndereco(endereco);
}catch(Exception e){
throw new RuntimeException(e);
}
return status;
}
public Endereco consultaPorId (int id){
EnderecoDAO eDAO = new EnderecoDAO();
Endereco endereco = new Endereco();
try {
endereco = eDAO.ConsultarEnderecoPorId(id);
} catch (Exception e) {
throw new RuntimeException(e);
}
return endereco;
}
}