首页 新闻 会员 周边 捐助

调用webservice接口,call.setOperationName要不要指定namespaceURL?什么情况下可以不指定?

0
[已关闭问题] 关闭于 2018-02-09 15:16

本人刚开始用webservice,很多不懂,还望大神赐教啊,拜谢
我用Java调用webservice接口,用的是org.apache.axis包的类,关键代码如下:
Service service = new Service();
Call call = null;
try {
call = (Call)service.createCall();
call.setTargetEndpointAddress(new URL("http://localhost:8081/UserService?wsdl"));
call.setProperty("axis.connection.timeout", new Integer(3600000));
call.setTimeout(new Integer(3600000));

//call.setOperationName(new javax.xml.namespace.QName("http://webservice.web.demo.com/", "queryUsers")); //用这句可以正常调用
call.setOperationName("queryUsers");//用这句就报错说找不到匹配的方法
Object res=call.invoke(new Object[]{});
PrintWriter out = response.getWriter();
out.println(res);
}catch (Exception e) {
e.printStackTrace();
}

其中,call.setOperationName的时候如果指定QName的namespace和方法名就可以正常调用,如果不指定namespace只写方法名就报错说找不到匹配的方法。我就想知道指定namespace和不指定有什么区别啊?什么时候可以不指定namespace?我查了网上的代码,很多都直接写方法名没指定namespace呀。实在困惑,摆脱摆脱了

江湖笑书生的主页 江湖笑书生 | 菜鸟二级 | 园豆:202
提问于:2017-01-12 10:44
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册