当我尝试向Web Service AddEmployee输入任何参数时,出现此异常
基本上,我想做的只是将一些数据插入MS Access数据库中,我认为最好的方法是创建一个包含函数和Web服务的Java类,并使用适当的参数调用这些函数,我有一个单独的Web服务用于建立与数据库的连接 我试过不带参数,带有伪参数,没有参数和空参数的情况,问题出在Web服务本身中,该函数运行正常,并且函数与数据库之间没有数据类型不匹配
@WebMethod(operationName="AddEmployee")
public String NouveauEmployee(@WebParam (name="Prenom Nom")String Nom,@WebParam(name="Matricule")Float Mat,@WebParam(name="Code Service")Float CodeSrv,@WebParam(name="Service")String Service,@WebParam(name="Code Emploi")String CodeEmp,@WebParam(name="Groupe Professionnelle")String GrpPro) {
return EM.functions.NvEmploye("Marouane Mhaiti",1254,110,"OIS/C/M","W7845","OE/GC");
}
public static String NvEmploye (String Nom,Integer Matricule,Integer CodeSrv,String Service,String CodeEmp,String GrpPro) {
Connection con=conout;
Statement sqlStatement;
try {
sqlStatement = con.createStatement();
} catch (SQLException e) {
return "Error when creating statement";
}
String commandString="insert into Personel ([Nom Prenom],[Matricule],[Code Service],[Service],[Code emploi],[Groupe professionnelle]) values";
commandString+="('"+Nom+"',"+Matricule+","+CodeSrv+",'"+Service+"','"+CodeEmp+"','"+GrpPro+"')";
try {
sqlStatement.execute(commandString);
return "Employee added";
} catch (SQLException e) {
return "error when executing statement";
}
}
@WebMethod(operationName="AddEmployee")
public String NouveauEmployee() {
return EM.functions.NvEmploye("Marouane Mhaiti",1254,110,"OIS/C/M","W7845","OE/GC");
}
我在这里期望的是它从功能中弹出“已添加员工”消息,而是显示该消息
WS00041:服务调用引发了异常,消息为:null;请参阅服务器日志以获取更多详细信息 异常详细信息:java.lang.reflect.InvocationTargetException
基本上提供任何参数都会导致此异常,并且我确定该错误在Web服务上,因为它不会显示throw子句中的“ XXX时出现错误”
PS:无需审查此处显示的所有数据
答案 0 :(得分:-1)
没关系的人,我发现它,基本上只是在NetBeans上进行了设计,我认为问题是这样的事实,即我有一些参数声明为Integer而不是int,不知道这是否是问题的根源,但是已经解决了当我使用NetBeans提供的功能时。