用cxf 框架发布webService(第二种,jaxWsServerFactoryBean带接口)

第二种发布方式:    发布一个带接口的webservice

使用cxf 框架提供的类 jaxWsServerFactoryBean 发布webService

jaxWsServerFactoryBean 是 ServerFactoryBean 的子类...

接口类需要注解

可以添加输入输出拦截器

发布的是soap版本1.2的。

package cn.itcast.cxf.server;

import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;

import cn.itcast.webservice.userService.UserService;
import cn.itcast.webservice.userService.UserServiceImpl;

/**
 * 
 * 使用cxf 提供的类 JaxWsServerFactoryBean 来发布一个带接口的webservice ...
 * 
 * @ 作者 zhuwu@itcast.cn
 *
 */
public class PublishUserService {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//创建发布服务的 类...
		JaxWsServerFactoryBean  bean=new JaxWsServerFactoryBean();
		//设置对外的访问地址
		bean.setAddress("http://192.168.9.100:7418/userService");
		bean.setServiceClass(UserService.class);//设置接口类型...
		bean.setServiceBean(new UserServiceImpl());//设置接口的实现类...
		
		//我们可以在发布服务的时候添加消息拦截器
		//拦截客户端往服务端 发送的请求的消息
		bean.getInInterceptors().add(new LoggingInInterceptor());
		//拦截服务端往客户端返回的消息...
		bean.getOutInterceptors().add(new LoggingOutInterceptor());
		
		bean.create();
	}

}



package cn.itcast.webservice.userService;

import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;

@WebService
@BindingType(value=SOAPBinding.SOAP12HTTP_BINDING)
public interface UserService {

	public void addUser(String userId);
	
	public String getUserById(int id);
	
}



package cn.itcast.webservice.userService;

public class UserServiceImpl implements UserService {

	@Override
	public void addUser(String userId) {
		System.out.println("小何");

	}

	@Override
	public String getUserById(int id) {
		
		return "如果认定了一件事情,那么一定要把它做到最好,加油,java!";
	}

}



转载于:https://my.oschina.net/u/2356176/blog/464543

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值