CXF系列一:创建一个简单的web service

CXF是web service的一种实现方式,关于两者的具体的概念,本文不做具体阐述,详情请参考网上资料。本文接下来将会新建两个2个简单的工程,一个是服务端,一个是客户端,服务端提供接口,客户端调用接口,完成一个简单的交互。

1:工程截图

2:在服务端工程cxf的pom.xml下

<dependencies>
    <dependency> 
	    <groupId>org.apache.cxf</groupId>
	    <artifactId>cxf-rt-frontend-jaxws</artifactId>
	    <version>3.1.7</version>
	</dependency>
	
	<dependency>
	    <groupId>org.apache.cxf</groupId>
	    <artifactId>cxf-core</artifactId> 
	    <version>3.1.7</version>
	</dependency>
	
	<dependency>
	    <groupId>org.apache.cxf</groupId>
	    <artifactId>cxf-rt-transports-http-jetty</artifactId> 
	    <version>3.1.7</version>
	</dependency>
  </dependencies>

3:创建一个HelloWorld接口

package com.qqw.webservice;

import javax.jws.WebService;

@WebService
public interface HelloWorld {

	public String say(String str);

}

4:实现HelloWorld接口

@WebService
public class HelloWorldImpl implements HelloWorld{

	@Override
	public String say(String str) {
		
		return "hello:"+str;
	}
}

5:提供一个main方法暴露接口

package com.qqw.webserviceImpl;

import javax.xml.ws.Endpoint;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

import com.qqw.webservice.HelloWorld;

public class Server {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		System.out.println("ws is start");
		HelloWorld hwHelloWorld=new HelloWorldImpl();
		String address="http://172.16.10.123/helloWorld";//ip地址可以是本机的ip地址或服务器的地址,后面的ws的名称可以随意
		//Endpoint.publish(address, hwHelloWorld);jdk提供的暴露接口的方法
		JaxWsServerFactoryBean factoryBean=new JaxWsServerFactoryBean();
		factoryBean.setAddress(address);
		factoryBean.setServiceClass(HelloWorld.class);
		factoryBean.setServiceBean(hwHelloWorld);
		factoryBean.create();
		System.out.println("ws is started");

	}

}

6:点击运行就可以发布,然后去浏览器输入http://172.16.10.123/helloWorld?wsdl


7:客户端的代码不用自己写,可以去apache cxf官网下载,可以自动生成调用的代码,地址:http://cxf.apache.org/

找个文件夹解压,比如在E盘,然后配置环境变量,在path里面加上;E:\apache-cxf-3.1.9\bin,点击确认就行。cmd执行命令:


因为我的客户端工程在F盘下,我要把自动生成的代码放到src/main/java文件夹下面,然后再调用wsdl2java命令就行。


8.在客户端main方法调用

HelloWorldService hService=new HelloWorldService();
HelloWorld helloWorld = hService.getHelloWorldPort();
System.out.println(helloWorld.say("小菜鸟"));

9:后台日志


至此,简单的CXF创建应用介绍完毕。




















  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值