当前位置: 首页 > 知识库问答 >
问题:

Java WebService客户端错误生成

步博厚
2023-03-14

嗯,首先,对不起我的英语不好。

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;
}


}

“enderecodao.java”:

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;

}
}

和ENDERECO的WebService“servicoEnderEco.java”:

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;

}
}

共有1个答案

盖夕
2023-03-14

问题解决了!

这些类之间的差异是由于我的服务器配置造成的。当我从apache服务器类路径更新.jar文件时,代码已经正确生成。

 类似资料:
  • 我需要在我的项目中使用一个web服务。我使用NetBeans所以我右键单击我的项目并尝试添加一个新的“Web服务客户端”。上次我检查时,这是创建web服务客户机的方法。但它导致一个AssertionError,它说: java.lang.AssertionError:org.xml.sax.SAXParseException;systemid:jar:file:/path/to/glassfish

  • 我们试图对cadence设置进行基准测试(目前在2个EC2实例上运行:m5a.xlarge ),发现了许多cadence客户端错误: cadence_service:cadence_matching,操作:历史记录重新记录活动任务已启动

  • 代码如下 我已经创建了一个DynamoDB表我的主键是,它是字符串。 在DynamoDB中,的表值是我需要更新为David。上面是代码。为什么错误会抛出元模式 完整错误如下所示 “errorMessage”:“调用UpdateItem操作时发生错误(ValidationException):更新表达式中提供的文档路径对于更新无效”,“errorType”:“ClientError”, 在代码下面尝

  • 作为第一步,我使用了Quarkus Openapi指南:https://Quarkus.io/guides/openapi-swaggerui,但是在运行未修改的示例并通过http://localhost:8080/Openapi检索Openapi YAML-Data之后,我注意到生成的数据是错误的,并且Openapi生成器由于stackoverflow错误而无法生成客户端。 问题:SetFrui

  • 我正在尝试使用第三方组织提供的web服务。 服务的URL如下 有几个帖子带有相同的错误消息。我在这里阅读了这篇文章,并通过向客户端添加这些设置来尝试它: 之后,服务器根本没有响应! 所以,我有点被困在这里了。有人能把我推到正确的方向吗?

  • 我试图自动化Web服务,并以字符串的形式传递XML,然后将其转换为字符串实体并设置实体。但我不知道为什么会抛出400错误。我是WebServices Automation的新手,请在这方面帮助我。 以下是我的代码: