主要说说JAVA如何调用WCF服务。
Java环境下生成代理类的工具有很多,如wsdl2Java,wsimport 等。本文中使用的工具是wsimport。
wsdl2Java 生成命令实例:
wsdl2Java -p packageName -d C:\ProxyClass http://127.0.0.1/WcfService/TestService.svc?wsdl
命令说明:
-p:生成文件的包名称
-d: 生成路径
后面就是wsdl的地址,如果用服务地址(不带?wsdl)貌似不行
Java环境下的都是包结构,和C#不一样。
本文使用wsimport生成代理调用了WCF服务。
调用步骤:
1、在Java工程所在的文件夹中建立文件夹,以放置生成的Java文件。如下图:
2、针对不同的服务生成代理,以放在不同的文件夹中:如生成LoginService.svc的命令如下:
注意以上红色标识部分:为存放的文件夹名称。运行以上命令后生成的文件如下:
重复1、2 生成其他服务的代理。主要修改的就是存放路径与服务地址。
3、在工程的src中右键添加包(注意:这里的包名称需通命令中指定的包名次相同),如下图:
4、将生成的文件复制到包中
5、调用:
public static void main(String[] args) { // TODO Auto-generated method stub LoginService loginService=new LoginService(); ILogin loginProxy= loginService.getBasicHttpBindingILogin(); String token= loginProxy.login("admin","123456"); System.out.println(token); }
运行结果: