Web Service (010---webservice拦截器)

来源:互联网 发布:java 广告位管理系统 编辑:程序博客网 时间:2024/05/18 09:03

一、相关概念


二、代码示例

服务端:

package com.dataType;import java.util.List;import javax.xml.ws.Endpoint;import org.apache.cxf.interceptor.Interceptor;import org.apache.cxf.interceptor.LoggingInInterceptor;import org.apache.cxf.interceptor.LoggingOutInterceptor;import org.apache.cxf.jaxws.EndpointImpl;import org.apache.cxf.message.Message;public class runService {public static void main(String[] args) {//指定webservice的访问urlString address = "http://192.168.1.100:8080/test/dataType" ;Endpoint endpoint = Endpoint.publish(address, new DataTypeWSImp());System.out.println(endpoint);EndpointImpl endpointImpl = (EndpointImpl)endpoint;//服务器日志入拦截器List<Interceptor<? extends Message>>  inInterceptor = endpointImpl.getInInterceptors();inInterceptor.add(new LoggingInInterceptor());//服务器日志入拦截器List<Interceptor<? extends Message>>  outInterceptor  = endpointImpl.getOutInterceptors();outInterceptor.add(new LoggingOutInterceptor());System.out.println("发布成功!!!");}}

客户端:

package com.datatype;import java.lang.annotation.Annotation;import java.util.List;import org.apache.cxf.endpoint.Client;import org.apache.cxf.frontend.ClientProxy;import org.apache.cxf.interceptor.InInterceptors;import org.apache.cxf.interceptor.Interceptor;import org.apache.cxf.interceptor.LoggingInInterceptor;import org.apache.cxf.interceptor.LoggingOutInterceptor;import org.apache.cxf.message.Message;import com.datatype.GetAllStudentsMapResponse.Return;import com.datatype.GetAllStudentsMapResponse.Return.Entry;public class test {public static void main(String[] args) {DataTypeWSImpService fac = new DataTypeWSImpService();DataTypeWS ws = fac.getDataTypeWSImpPort();Client client = ClientProxy.getClient(ws);//客户端入拦截器List<Interceptor<? extends Message>>  inInterceptor = client.getInInterceptors();inInterceptor.add(new LoggingInInterceptor());//客户端出拦截器List<Interceptor<? extends Message>>  outInterceptor = client.getOutInterceptors();outInterceptor.add(new LoggingOutInterceptor());ws.addStudent(new Student(111, "mark", 2.3f));}}


原创粉丝点击