【问题标题】:I can't make an Insert in MYSQL with a SOAP web service in Java using JDBC driver我无法使用 JDBC 驱动程序在 Java 中使用 SOAP Web 服务在 MYSQL 中进行插入
【发布时间】:2018-11-20 21:22:19
【问题描述】:

您好,我正在尝试测试连接到 mysql localhost (xampp) 的 Web 服务 Soap java,但我无法在数据库中插入任何行 这是我的代码

Conexion.java

import java.sql.Connection
import java.sql.DriverManager

public class Conexion {

public static final Connection ConectarMySQL() throws SQLException
{
    Connection conn;
    try
    {          
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/controldecalidad", "root", "");            
    }
    catch(SQLException ex)
    {
        throw new SQLException(ex.getMessage());
    }
    return conn;
}

}

这里是网络服务

 @WebMethod(operationName= "registra_rechazo")   
public void registra_rechazo(@WebParam(name = "SKU")String SKU,@WebParam(name = "fecha")String fecha,
        @WebParam(name = "num_captura")String num_captura,@WebParam(name = "pesoCaptura") int pesoCaptura) 
{
    try
    {
        Connection conn = Conexion.ConectarMySQL();
        String sql = "INSERT INTO registra_rechazo VALUES(?,?,?,?)";
        PreparedStatement pst = conn.prepareStatement(sql);
        pst.setString(1, SKU);   
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");            
        pst.setString(2, dateFormat.format(fecha));
        pst.setString(3, num_captura);
        pst.setInt(4, pesoCaptura);
        pst.execute();
        pst.close();
        conn.close();

    }
    catch(SQLException Ex)
    {

    } 
}

这是错误 https://i.stack.imgur.com/aWO16.png

更新!!我检查了我的项目,我收到了这个新错误 https://i.stack.imgur.com/uHRQW.png

我错过了什么?请帮忙!!!!

【问题讨论】:

  • java.lang.reflect.InvocationTargetException 当您调用的方法尝试调用另一个引发异常的方法时抛出,所以我的建议是检查日志并尝试按照堆栈跟踪查看错误最初来自哪里
  • 嗨!感谢您的反馈,您重新检查了 conexion 类,我在其他项目中尝试了它并且是正确的,没有错误,所以 de Connection 实例不是问题,然后我将准备好的语句更改为 stament,我有一个 java.lang.NullPointerException错误:/
  • 在更新中,这是完整的错误信息吗?如果它没有发布整个错误,我相信它应该准确列出导致它的原因

标签: java mysql web-services soap netbeans-8


【解决方案1】:

我终于解决了!!

在 Conexion 类中删除静态 final 并为这个类创建一个构造函数

public class Conexion {

public Conexion(){

}    
public Connection getConecction()
{
    Connection con = null;
    try{
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/controldecalidad", "root", "");                        
    }catch(SQLException ex){            
    }
    catch(Exception ex){
    }
    return con;
    }    
}

然后我创建了一个拥有所有操作的类

public class Operaciones 
{
   Conexion conexion;

public Operaciones()
{
    conexion = new Conexion();
}


public boolean registra_rechazo(String SKU,String fecha,String num_captura,int pesoCaptura)
{
    Boolean bandera=false;
     try
    {
        Connection conn = conexion.getConecction();
        java.util.Date utilStartDate = new java.util.Date(fecha);
        java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime());           
        String sql = "INSERT INTO registra_rechazo VALUES(?,?,?,?)";
        PreparedStatement pst = conn.prepareStatement(sql);
        pst.setString(1, SKU);   
        pst.setDate(2, sqlStartDate);
        pst.setString(3, num_captura);
        pst.setInt(4, pesoCaptura);
        if(pst.executeUpdate()!=-1){
            bandera = true;
            return bandera;
        }
        else{
            bandera = false;
            return bandera;

        }

    }
    catch(SQLException Ex)
    {

    }
     return bandera;
   }
}

然后我在网络服务中调用方法,但首先必须通过网络服务中的添加操作来创建网络方法,如图像

https://i.stack.imgur.com/HjAHk.png

我不知道为什么,但该方法只有在您使用该向导创建该方法时才有效

@WebMethod(operationName = "operation")
public boolean operation(@WebParam(name = "SKU") String SKU, @WebParam(name = "fecha") String fecha, @WebParam(name = "num_captura") String num_captura, @WebParam(name = "peso_captura") int peso_captura) {
    //TODO write your implementation code here:
     Operaciones op = new Operaciones();
    return op.registra_rechazo(SKU,fecha,num_captura,peso_captura);
}

然后web方法必须返回一些东西,用void是不行的

【讨论】:

    猜你喜欢
    • 2010-11-15
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 2019-05-23
    • 2012-03-01
    • 2013-09-23
    相关资源
    最近更新 更多