java调用WCF服务

一、概述

最近项目上有需要和建科机器进行通信的需求,而建科这边给的技术文档和服务都是webservice的,我这边要做的就是用Java和建科的webservice交互。
启动建科的webservice,就能看到:
java调用WCF服务_第1张图片

而我一直努力的方向就是实现java和webservice交互,在网上搜索尝试了各种代码始终调不通服务,获取不到数据,一直报这个错:

由于 ContractFilter 在 EndpointDispatcher 不匹配,因此 Action 为“”的消息无法在接收方处理。这可能是由于协定不匹配(发送方和接收方 Action 不匹配)或发送方和接收方绑定/安全不匹配。请检查发送方和接收方是否具有相同的协定和绑定(包括安全要求,如 Message、Transport、None)。

最后才发现,这个东西叫WCF,我要做的是Java和WCF交互,好吧,总算找到方向了,在网上参照牛人的方法,成功实现交互。

二、WSImport实现

1.找到位于%JAVA_HOME%\bin下的wsimport.exe文件;
2.在bin目录下新建文件夹JavaSrc;
3.指定到当前路径,在命令行cmd中输入:

wsimport -s JavaSrc http://192.168.0.45:7999/TjkServiceLibrary/Service1/?wsdl

4.在当前路径的JavaSrc下会生成相关的Java类,直接复制到项目的Src目录下即可使用。

java调用WCF服务_第2张图片

三、测试代码

我写了一个单例工具类,方便调用:

java调用WCF服务_第3张图片

你可能感兴趣的:(java基础)