使用环境:MyEclipse10
本教程使用Myeclipse内置插件生成java代码,网上说这是xfire插件,不管怎样,生成和调用客户端代码都十分简单。
1.在项目上右键,选择New->Other->Web Service->Web Service Client->Next,(other里面可以直接输入client就可以看到 web service client了)会看到以下界面:
这里可以选择wsdl文件,也可以写上wsdl的url地址,推荐是写url,这样调用的时候不需要修改生成的代码。然后使用默认设置一路next,最后finish。
如果不写url地址也没事,因为很多情况 ,你在公司,接口在其他地方,还不是外网的,所以你可以让对方吧wsdl文件直接发你接口,其实就是浏览器访问wsdl的接口地址,然后复制页面内容回来,放到记事本,记事本的后缀再改成wsdl即可。
2.调用过程
生成代码后,会发现src多了一个包,包的名字和web service的命名空间有关。
我们可以看一下以wsdl中porttype的name命名的java文件,这里是FcpAllcontentWS.java,这是一个接口,里面包含了web service里所有方法。
下面开始讲调用过程,以上面的add方法为例,首先new一个service1对象,然后从service对象中创建一个service1soap对象,最后调用需要的方法,代码如下:
public static void main(String[] args) {
FcpAllcontentIMPService test = new FcpAllcontentIMPService();
FcpAllcontentWS service = test.getFcpAllcontentIMPPort();
String a = service.test1();
System.out.println(a);
String b = service.sendText1("何清华");
System.out.println(b);
}
客户端我只直接新建了一个web项目,然后加入连接,自动生成的代码,除了这个run.java这个测试类是我自己写的以外,其他都是生成,jar包也不额外引入,我的服务端使用fcx写的。无特殊操作。
ps:使用该插件还能检查wsdl的正确性,你可以通过使用myeclipse打开一个wsdl文件,如果文件不符合wsdl规范,左边会出现warning。此外,在创建web service client过程中,插件也会对wsdl文件进行validate,如果出错,不会生成代码。注意:插件报错时会有错误的代码,这是wsdl的规则,大家可以上http://ws-i.org/profiles/basicprofile-2.0-2010-11-09.html查看错误码。