1.定义接口
import javax.jws.WebService; @WebService public interface HelloWorld { String sayHi(String text); }
2.实现
//@WebService(endpointInterface = "XXXXX.HelloWorld", serviceName = "HelloWorld") public class HelloWorldImpl implements HelloWorld { public String sayHi(String text) { return "Hello " + text; } }
3.Server
import javax.xml.ws.Endpoint; HelloWorldImpl implementor = new HelloWorldImpl(); String address = "http://localhost:9000/helloWorld"; Endpoint.publish(address, implementor);
4.client
import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; private static final String name = "http://server.hello.demo.cxf.zhengchao.net.cn/"; private static final QName SERVICE_NAME = new QName(name, "HelloWorld"); URL WSDL_LOCATION = new URL("http://localhost:9000/helloWorld?wsdl"); Service service = Service.create(WSDL_LOCATION, SERVICE_NAME); HelloWorld hw = service.getPort(HelloWorld.class); System.out.println(hw.sayHi("World"));
方法二
Factory Server
import org.apache.cxf.frontend.ServerFactoryBean; HelloWorldImpl helloworldImpl = new HelloWorldImpl(); ServerFactoryBean svrFactory = new ServerFactoryBean(); svrFactory.setServiceClass(HelloWorld.class); svrFactory.setAddress("http://localhost:9000/Hello"); svrFactory.setServiceBean(helloworldImpl); // svrFactory.getServiceFactory().setDataBinding(new // AegisDatabinding()); svrFactory.create();
Factory Client
import org.apache.cxf.frontend.ClientProxyFactoryBean; ClientProxyFactoryBean factory = new ClientProxyFactoryBean(); factory.setAddress("http://localhost:9000/Hello"); HelloWorld client = factory.create(HelloWorld.class);
添加Interceptor
import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; HelloWorldImpl implementor = new HelloWorldImpl(); JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean(); svrFactory.setServiceClass(HelloWorld.class); svrFactory.setAddress("http://localhost:9000/helloWorld"); svrFactory.setServiceBean(implementor); svrFactory.getInInterceptors().add(new LoggingInInterceptor()); svrFactory.getOutInterceptors().add(new LoggingOutInterceptor()); svrFactory.create();
client
扫描二维码关注公众号,回复:
732992 查看本文章
import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.getInInterceptors().add(new LoggingInInterceptor()); factory.getOutInterceptors().add(new LoggingOutInterceptor()); factory.setAddress("http://localhost:9000/helloWorld"); HelloWorld client = factory.create(HelloWorld.class);