WCF是微软提供的数据通讯框架,比较好用,可以使用webservice,也可以使用TCP/IP通讯,当前大部分的分布式系统基本都采用webservice,还是一个实战的项目,网络矿工数据采集服务引擎采用的就是wcf,对外提供任务操作接口,以方便用户使用。
WCF在微软技术体系内使用极为方便,直接进行服务引用即可。
在Java平台中使用,会有些繁琐。直接使用axis,采用正常的webservice的方式调用,会报错。参考了一些文档,axis提供了eclipse插件,可以生成wcf客户端代码进行调用。
在此,我们不采用此方式,太繁琐了,于是使用wsimport,wsimport可以根据wsdl生成客户端代码,更加方便一些。于是采用此方法进行。
先启动wcf服务,将地址代入浏览器查看,启动是否成功?
可以看到服务启动成功,当前为了测试效果,我们将wcf宿主在winform程序中,便于调试。
cmd,进入dos窗口,运行:
wsimport -s wcf http://192.168.1.146:8000/tServer?wsdl
-s 表示生成的是源码,wcf是指生成源码后存放的目录。
运行成功后,进入wcf目录,可以看到生成的结构。
启动eclipse,建立一个java project,键入以下代码,实现wcf服务调用:
CGatherControlImpl gControl=new CGatherControlImpl();
ITaskControl iTaskControl=gControl.getBasicHttpBindingITaskControl();
iTaskControl.startTask("百度新闻");
在.net项目中,StartTask方法中,设置断点,然后开始运行项目,
可以看到,在.Net项目中,断点被中断了,表示java客户端调用成功了,查看参数值:百度新闻。
至此,java调用wcf服务成功!
版权声明:如无特别说明,均为“易思捷IT训练营”原创,如转载请著名出处!