什么是Web Service客户端处理器
Web Service客户端处理器(Client Side Handler)是Integrated Web Services Client for ILE提供的一种客户端Web Service调用监听机制,当客户端Stub程序封装好请求SOAP消息准备发送,或者客户端Stub程序接收到响应SOAP消息准备处理时,可以通过客户端Handler机制进行消息监听以及修改SOAP Header信息,然后 Integrated Web Services Client for ILE继续对SOAP消息做进一步的处理。本文将逐步指导读者如何编写和部署Web Service客户端处理器。
客户端处理器类型
从客户端处理器起作用的范围看,在 Integrated Web Services Client for ILE中有两种类型的客户端处理器,Service处理器和全局处理器,它们的应用场合是不相同的。
Service处理器 :只和某个Service相关联,只有在客户端调用相关联的Web Service时,Service处理器才会被调用。
全局处理器 :只要有通过Integrated Web Services Client for ILE实现的Web Service调用,全局处理器都会被调用。
Service处理器和全局处理从代码实现上来看,没有任何的不同,它们的区别在于部署的时候,在WSDD文件中是指定为Service处理器还是全局处理器,即同一个客户端处理器既可以配置为Service处理器也可以作为全局处理器。文章的后面部分会有专门的章节对客户端处理器的部署配置进行描述。
另外从处理器被调用的时机看,还可分为Pre-pivot 和Past-pivot 两种类型,Pre-pivot 是针对SOAP Request 的处理器,Past-pivot 是对SOAP Response 的处理器。Request 处理器是在一个Web Service客户端产生一个Web Service调用请求,Stub 程序将SOAP封装好准备发送时,被调用的,如下图流程所示:
图 1 发送SOAP消息时客户端处理器流程