JAX-WS - Handler详解

本文详细介绍了JAX-WS中的Handler机制,特别是SOAPHandler在处理Soap消息和控制Header中的应用。Handler分为LogicalHandler和SOAPHandler,通常使用SOAPHandler。在客户端,LogicalHeader先于SOAPHandler处理,服务器则相反。文章还提供了服务端自定义Handler的步骤,包括接口定义、实现及在服务上添加Handler的方法,并提到如何根据SoapBody判断服务。
摘要由CSDN通过智能技术生成

一、Handler说明

    Handler用于处理Soap消息,如控制Header(如隐式的添加用户信息等)

    Handler分成LogicalHandler和SOAPHandler,常用为SOAPHandler;客户端先处理LogicalHeader再处理SOAPHandler,服务器反之


二、开始前的准备

    1、服务端

        (1)接口:

@WebService
public interface UserService {

	@WebResult(name="registerResult")
	public String register(@WebParam(name="user") User user);
}

        (2)实现:

@WebService(endpointInterface="com.xilen.jws.UserService", serviceName="UserServiceImplService")
public class UserServiceImpl implements UserService{

	@Override
	public String register(User user) {
		System.out.println(user);
		return user.getName() + ", registered!";
	}

}
        (3)启动:

public class StartMain {
	public static void main(String[] args) {
		Endpoint.publish("http://localhost:8888/userinfo", new UserServiceImpl());
	}
}
    2、客户端

       (1) 通过wsimport生成相关代码后,调用服务端编码:

public class Client {
	
	public static void main(String[] args) {
		
		UserServiceImplService usis = new UserServiceImplService();
		UserService service = usis.getUserServiceImplPort();

		User user = new User();
		user.setId(1);
		user.setName("admin");
		user.setPass("12345");
		
		System.out.println(servic
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值