关于基于Axis2下的Webservice的一个问题,配置的是正确的,简单的服务能正确访问,但是连接数据库就出错了

函数是这样的:
public OMElement GetBySinger(OMElement ome)
{
Statement state = null;
ResultSet rs = null;
OMFactory fac = InitOMFactory();
OMNamespace omNS = InitNameSpace();
Connection con = InitSql();
OMElement resele = fac.createOMElement("GetBySingerResponse",omNS);
//resele.setText("hah");

try
{
state = con.createStatement();
rs=state.executeQuery("select * from MusicService where Singer Like '%"+ome.getText().trim()+"%'");

int count =0;
while(rs.next())
{
OMElement music = GetMusicRootElement(fac,omNS,rs);
resele.addChild(music);
count++;
}
if(count==0)
resele.setText("无该演唱者曲目");

rs.close();
state.close();
con.close();

}
catch(SQLException e)
{
//System.out.println(e);
}
return resele;
}
如果是这样的话,就会报错:
org.apache.axis2.AxisFault: unknown
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:555)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:531)
at test.AXIS.TestClient.main(TestClient.java:86)

如果不连接数据库:
public OMElement GetBySinger(OMElement ome)
{
Statement state = null;
ResultSet rs = null;
OMFactory fac = InitOMFactory();
OMNamespace omNS = InitNameSpace();
Connection con = InitSql();
OMElement resele = fac.createOMElement("GetBySingerResponse",omNS);
resele.setText("hah");
/*
try
{
state = con.createStatement();
rs=state.executeQuery("select * from MusicService where Singer Like '%"+ome.getText().trim()+"%'");

int count =0;
while(rs.next())
{
OMElement music = GetMusicRootElement(fac,omNS,rs);
resele.addChild(music);
count++;
}
if(count==0)
resele.setText("无该演唱者曲目");

rs.close();
state.close();
con.close();

}
catch(SQLException e)
{
//System.out.println(e);
} */
return resele;
}
就能正确访问
连接数据库是没有问题的,因为我在服务的main函数里面直接调用这个函数,能得到正确的结果的,但是就是客户端访问的时候得不到我要的结果。。。

跪求大神。。解决了分数加倍啊!!!

第1个回答  2012-06-09
org.apache.axis2.AxisFault: unknown
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at
看似客户端的错

看服务器端的后台的错误

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网