天天看点

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

一、相关概念

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

二、代码示例

服务端:

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的访问url
		String 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));

	}
}