JAX-WS方式
需要在服务接口和实现类使用@WebService注解
@WebService
public interface Welcome{
....
@WebService
public class WelcomeImpl implements Welcome {
.....
发布到jetty服务器,直接加入jetty的jar包 /**
* JAX-WS方式服务端,服务接口需要@WebService注解
*/
public void createJaxWSServer() {
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); //创建WebService服务工厂
factory.setAddress("http://localhost:8080/Welcome"); //发布接口
factory.setServiceClass(Welcome.class); //注册WebService接口
factory.setServiceBean(new WelcomeImpl());
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.create(); //创建WebService
System.out.println("server start... JAX-WS");
}
/**
* JAX-WS方式客户端,服务接口需要@WebService注解
*/
public void createJaxWSClient() {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(Welcome.class);
factory.setAddress("http://localhost:8080/Welcome");
Welcome ww = (Welcome) factory.create();
System.out.println("***************************JAX-WS invoke return message:" + ww.getWelcome("CXF test"));
}
POJO方式
不需要任何注解,直接写服务接口和实现类
public interface Welcome{
....
public class WelcomeImpl implements Welcome {
.....
发布到jetty服务器,直接加入jetty的jar包
/**
* POJO方式服务端,服务接口是POJO类
*/
public void createPojoServer(){
ServerFactoryBean factory = new ServerFactoryBean();
factory.setAddress("http://localhost:8080/Welcome");
factory.setServiceClass(Welcome.class);
factory.setServiceBean(new WelcomeImpl());
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.create();
System.out.println("server start... POJO");
}
/**
* POJO方式客户端,服务接口是POJO类
*/
public void createPojoClient() {
ClientProxyFactoryBean factory = new ClientProxyFactoryBean ();
factory.setAddress("http://localhost:8080/Welcome");
factory.setServiceClass(Welcome.class);
Welcome ww = (Welcome) factory.create();
System.out.println("***************************POJO invoke return message:" + ww.getWelcome("CXF test"));
}