Java 返回式Web服务
我的应用程序:Netbeans 8.0.1、ApacheTomcat 我这里有一个Webservice和Webmethod。 用户应插入SozialVersicheRungsummer SVN编号。他应该返回相应的名称Nachname。数据库中的表称为kunden。字段:SozialVersicherungsummer和NachnameJava 返回式Web服务,java,database,webmethod,Java,Database,Webmethod,我的应用程序:Netbeans 8.0.1、ApacheTomcat 我这里有一个Webservice和Webmethod。 用户应插入SozialVersicheRungsummer SVN编号。他应该返回相应的名称Nachname。数据库中的表称为kunden。字段:SozialVersicherungsummer和Nachname @WebMethod( operationName = "SVN-Abfrage" ) public String svn(int SVN) {
@WebMethod( operationName = "SVN-Abfrage" )
public String svn(int SVN)
{
try
{
connection = DriverManager.getConnection(
DATABASE_URL, USERNAME, PASSWORD );
statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery( "SELECT Nachname FROM kunden WHERE Sozialversicherungsnummer='" + SVN +"'" );
// if requested seat is available, reserve it
if ( resultSet.next() )
{
return resultSet.getString("Nachname");
} // end if
return "fehler";
} // end try
catch ( SQLException e )
{
e.printStackTrace();
return ("1");
} // end catch
catch ( Exception e )
{
e.printStackTrace();
return ("2");
} // end catch
finally
{
try
{
statement.close();
connection.close();
} // end try
catch ( Exception e )
{
e.printStackTrace();
return ("3");
} // end catch
} // end finally
} // end WebMethod
我使用soapui测试web服务。不幸的是,我的代码中有一个错误
我总是得到3作为回报。当我删除finally部分时,返回值为1。当我也删除这个,我得到2作为回报。。。我插入什么并不重要:任何像123这样的数字,或者数据库中正确的SozialVersicheRungsummer,都应该有效
我想从用户那里得到一个整数,并返回一个对应的名称Nachname。比我想象的要复杂得多:-/
如果有人能帮我,我会很感激的
格里茨更换
statement.executeQuery( "SELECT \"*\" FROM \"kunden\"" + "WHERE (\"Sozialversicherungsnummer\" = '" + SVN + "')" );
与
您还可以在异常块中优化代码。而不是
String i= "Kann nicht gefunden werden";
return i;
你可以
return "Kann nicht gefunden werden";
你得到了什么?是否有错误或未找到记录?我已更新问题。->我总是得到3作为回报。当我删除finally部分时,返回值为1。当我也删除这个,我得到2作为回报。。。我插入什么并不重要:任何数字,比如123,或者数据库中正确的SozialVersicheRungsummer,应该可以工作。尝试直接在后端数据库上执行SQL语句。如果它在数据库上成功生成所需的结果集,那么将其嵌入到Java代码中,最后如果Java代码成功,则实现您感兴趣的Web服务。在Java中,没有Web服务它能工作吗?如果没有,请尝试执行普通Java代码来删除Web服务。你将能够看到确切的罪犯。好的,我改变了陈述,但我仍然有问题。我更新了问题,也许你能帮忙。谢谢因此,如果将1作为返回值,则显然存在SQLException。还可以粘贴异常堆栈跟踪吗
return "Kann nicht gefunden werden";