在下web service菜手!这两天用AXIS-1_4,写了一个web Service接口,部署成功后,测试报错呀!
错误信息:
exception java.lang.reflect.InvocationTargetException
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
javax.xml.parsers.SAXParser.parse(Unknown Source)
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
org.apache.axis.client.Call.invokeEngine(Call.java:2784)
org.apache.axis.client.Call.invoke(Call.java:2767)
org.apache.axis.client.Call.invoke(Call.java:2443)
org.apache.axis.client.Call.invoke(Call.java:2366)
org.apache.axis.client.Call.invoke(Call.java:1812)
webservice.subcenter.AttachSubcenterDBSoapBindingStub.insertGgys(AttachSubcenterDBSoapBindingStub.java:288)
bidsysmg.overSee.TestClient.insertggys(TestClient.java:15)
bidsysmg.overSee.OverSeeAction.listOverSeeRec(OverSeeAction.java:53)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)这是部分接口程序
public interface AttachSubcenterDB extends java.rmi.Remote {
public int insertGgys(java.lang.String in0, java.lang.String in1, java.lang.String in2, java.lang.String in3) throws java.rmi.RemoteException;
//.........
}
相关的实现类
public class AttachSubcenterDBSoapBindingImpl implements webservice.subcenter.AttachSubcenterDB{
public int insertGgys(java.lang.String in0, java.lang.String in1, java.lang.String in2, java.lang.String in3) throws java.rmi.RemoteException {
int result = -1;
DBConnection conn = new DBConnection();
try{
String sql = "insert into IST_MapTDSegment2Notice (FNoticeNo,FTDNO,FETNO,FSegNO)"
+ " values('"in0"','"in1"','"in2"','"in3"')";
result = conn.executeUpdate2(sql);
}catch(Exception e){
e.printStackTrace();
}finally{
if(conn!=null){
conn.close();
conn=null;
}
}
return result;
}
//.............
}
跟踪报错出现地点:
public class AttachSubcenterDBSoapBindingStub extends org.apache.axis.client.Stub implements webservice.subcenter.AttachSubcenterDB {
//.........................
public int insertGgys(java.lang.String in0, java.lang.String in1, java.lang.String in2, java.lang.String in3) throws java.rmi.RemoteException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.setOperation(_operations[0]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("");
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("urn:Subcenter", "InsertGgys"));setRequestHeaders(_call);
setAttachments(_call);
try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {in0, in1, in2, in3});
if (_resp instanceof java.rmi.RemoteException) {
throw (java.rmi.RemoteException)_resp;
}
else {
extractAttachments(_call);
try {
return ((java.lang.Integer) _resp).intValue();
} catch (java.lang.Exception _exception) {
return ((java.lang.Integer) org.apache.axis.utils.JavaUtils.convert(_resp, int.class)).intValue();
}
}
} catch (org.apache.axis.AxisFault axisFaultException) {
throw axisFaultException;//....................
}服务部署后服务列表:
java org.apache.axis.client.AdminClient -p 8080 deploy.wsdd //部署命令
部署后结果:
http://localhost:8080/axis/servlet/AxisServlet //部署And now... Some Services
AdminService (wsdl) 
AdminService 
Version (wsdl) 
getVersion 
AttachSubcenterDB (wsdl) 
insertGgys 
insertZbdy 
insertZbgg 
insertRcap 
insertZbgs 
insertZbdj 
insertBdxx 
insertRcjy 
insertKzj 
deleteZbgg 客户端测试代码:
public class TestClient {
public int insertggys() throws ServiceException, RemoteException{
int result = -1;
try{
AttachSubcenterDBServiceLocator locator = new AttachSubcenterDBServiceLocator();
AttachSubcenterDB service = locator.getAttachSubcenterDB();
result = service.insertGgys("0001","0002","0003","0004");
}catch(ServiceException e){
e.printStackTrace();
}
return result;
}
}请各位高手帮我查查原因何在呀!在下感激不尽!