采用axis框架,进行webservice接口开发、调用时,http://127.0.0.1:8080/TestService/services/TestService?wsdl是什么?
在调用时,是这么用的:
public Object[] funXX(String projectName) {
String endpoint = "http://127.0.0.1:8080/TestService/services/TestService?wsdl";
String operation = "functionXXX";//调用接口工程中某个类,这个类的方法名
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
Call call;
try {
call = (Call) service.createCall();
try {
call.setTargetEndpointAddress(new java.net.URL(endpoint));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
call.setOperationName(operation);
Object[] obj;
try {
obj = (Object[]) call.invoke(new Object[] { projectName });
return obj;
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
其实http://127.0.0.1:8080/TestService/services/TestService?wsdl是一个xml文件
那么如果我直接把这个页面保存为xml文件TestService.xml,放到D盘,然后在方法调用的时候,给出xml文件的地址,可以运行吗?
String endpoint = "D:/TestService.xml";
或者将TestService.xml放在TestService工程WebContent目录的test目录下:
String endpoint = "http://127.0.0.1:8080/TestService/test/TestService.xml";