cxf服务端发布webService接口,那么我们通过开发客户端即可调用服务端发布的webService服务接口。
其实,调用原理类似于RPC(远程过程调用)和JMI(远程对象调用)。只不过调用通过soap协议(简单对象访问协议)实现。
具体实现例子如下:
首先建一个Maven项目,项目名字,WS_Client;
然后我们要用CXF给我们提供的工具wsdl2java 来根据请求的url生成客户端代码;
wsdl2java工具在CXF开发包里;
开发下载地址:http://cxf.apache.org/download.html
下载二进制包,然后解压到D盘
使用wsdl2java命令;还得配置Path。我们打开环境变量配置,加入路径 D:apache-cxf-3.1.12in 可能你的和我不一样;
现在我们要干的事是在我们项目里生成我们需要的webservice客户端代码,
我们找到项目的本地路径
然后我们进入dos,进入上面的本地硬盘地址,然后执行命令:wsdl2java http://192.168.0.102/helloWorld?wsdl
代码已生成:
刷新下工程:
最关键的代码是HelloWorldService.java 我们下面写请求主类要用到;
我们下面写下主类 Client ,自己建下:
1 package com.hik.webservice; 2 3 /** 4 * @ClassName: Client 5 * @Description: TODO 6 * @author jed 7 * @date 2017年7月30日下午1:58:36 8 * 9 */ 10 public class Client { 11 12 public static void main(String[] args) { 13 HelloWorldService service = new HelloWorldService(); 14 HelloWorld helloWorld = service.getHelloWorldPort();//获取代理 15 System.out.println(helloWorld.say("你好!")); 16 } 17 }
运行如下:
说明我们成功调用了webservice服务器端的接口。