cxf发布webservice简介 及 wsdl2java生成客户端代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yh869585771/article/details/51530369

下面我们简要介绍如何通过cxf框架发布webservice


首先新建一个Java project为cxfmodel_server

首先去官网下载cxf:http://cxf.apache.org/download.html

下面我们就开始使用

(1)发布服务

第一步:新建需要发布的接口HelloWorld.java,里面包含一个sayHello方法,其次写出这个接口的实现类实现sayHello方法,简要的打印输出结果

第二步:给接口和实现类加上相应的注解

@WebService表明此类发布为一个服务

@WebMethod表明发布的服务方法

实际代码如下

接口 HelloWorld.java

扫描二维码关注公众号,回复: 4471478 查看本文章

@WebService
public interface HelloWorld {
	
	@WebMethod
	public String sayHello(String name);

}
我们可以看出,其中使用了两个注解, @WebService表明此类发布为一个服务,@WebMethod表明发布服务包含的方法。


接口实现类HelloWorldImpl.java

@WebService
public class HelloWorldImpl implements HelloWorld {

	@Override
	public String sayHello(String name) {
		
		System.out.println("server sayHello() :" + name);
		
		return "Hello " + name;
	}

}

第三步:编写发布服务的方法,其中我们需要用到Endpoint类的publish方法。

public class ServerTest {
	
	public static void main(String[] args) {
		//表示我们服务<span style="font-family: Arial, Helvetica, sans-serif;">发布</span>的地址
		String address = "http://localhost:8989/jdkmodel_server/hellows";
		Endpoint.publish(address, new HelloWorldImpl());
		System.out.println("server start ...");
		
	}

}


第四步:很关键,将我们下载的cxf jar包导入工程lib目录下,目录不存在,就新建一个

 
 

第五步:右键run as---java application,得到运行结果,表示服务发布成功


小结:

区别一:使用cxf发布wenservice和使用jdk的区别在于cxf使用jetty容器发布服务(我们可以再jar包中看到),而jdk则使用tomcat容器发布服务。

区别二:使用cxf发布webservice我们也可以是用自带的wsdl2java.exe命令生成客户端代码


(2)生成客户端调用代码


以上我们发布完成了服务,下面我们来通过cxf自带的wsdl2java.exe命令生成客户端调用代码

注:wsdl2java.exe命令在cxf的bin目录下,大家可以自行查看


以上命令十分简单

cmd----跳转到你需要保存客户端代码的目录下---wsdl2java url

输入以上命令即可生成客户端调用代码,需要注意的是上面提到的url,可以使我们发布的wsdl文件地址,也可以是本地wsdl文件。使用时需要注意。


以上就可以使用生成的代码调用我们发布的服务,结果如下



猜你喜欢

转载自blog.csdn.net/yh869585771/article/details/51530369