微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用CXF编写WebService

CXF下载地址:http://cxf.apache.org/download.html

解压后可以看到lib、bin、docs等目录。在lib有我们需要的jar包

在eclipse中创建一个java项目,并引入lib下面的包

创建创建一个接口ICaculateService

import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface ICaculateService {
	public String getName(@WebParam(name="name")String name);
}


 

在创建CaculateService类来实现ICaculateService接口

import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.soAPBinding;
import javax.jws.soap.soAPBinding.Style;

@WebService
@SOAPBinding(style=Style.RPC)
public class CaculateService implements ICaculateService {
	public String getName(@WebParam(name="name")String name) {
		return "chenbin";
	}
}


 

接下来部署WebService

public class DeployWebService {
	public static void deployService() {
		Sy@R_404[email protected]("server start ...");
		ICaculateService service = new CaculateService();
		String addresstring = "http://localhost:9000/caculate";
		Endpoint.publish(addresstring,service);
	}
	
	public static void main(String[] args) throws InterruptedException {
		deployService();
		Sy@R_404[email protected]("server ready ...");
		Thread.sleep(1000*60);
		Sy@R_404[email protected]("server exiting");
		Sy@R_404[email protected](0);
	}
}


 

WebService发布好之后,就创建一个客户端来调用这个服务。在同一个项目中,创建Client类

import org.apache.cxf.jaxws.JaxWsProxyfactorybean;

public class Client {
	public static void main(String[] args) {
		JaxWsProxyfactorybean factory1 = new JaxWsProxyfactorybean();
		factory1.setServiceClass(ICaculateService.class);
		factory1.setAddress("http://localhost:9000/caculate");
		ICaculateService service = (ICaculateService) factory1.create();
		Sy@R_404[email protected](service.getName(""));
	}
}


 

我们也可以新建一个项目来调用刚刚发布的WebService。需要把ICaculateService重写一遍,并且命名空间也要相同代码和Client类是一样的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐