cxf 发布多个接口的方法
转自:http://hbiao68.iteye.com/blog/1980266
实际应用中,我们可以把webservice集成到项目中:
http://blog.youkuaiyun.com/qq_21399933/article/details/78828913
1、使用cxf 中的 JaxWsServerFactoryBean类发布webservice
package server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
import hb.HelloWorldService;
import hb.IHelloWorldService;
import hb.ISessionSendMsg;
import hb.SessionSendMsg;
public class Server1 {
public static void main(String[] args) {
HelloWorldService helloworldimp = new HelloWorldService();
JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();
factoryBean.setAddress("http://localhost:8080/WSCXF/helloService");
factoryBean.setServiceClass(IHelloWorldService.class);//接口类
factoryBean.setServiceBean(helloworldimp);
factoryBean.create();
JaxWsServerFactoryBean factoryBean1 = new JaxWsServerFactoryBean();
SessionSendMsg sessionSendMsg = new SessionSendMsg();
factoryBean1.setAddress("http://localhost:8080/WSCXF/sessionService");
factoryBean1.setServiceClass(ISessionSendMsg.class);//接口类
factoryBean1.setServiceBean(sessionSendMsg);
factoryBean1.create();
}
}
备注:实际上是创建了多个JaxWsServerFactoryBean对象来实现发布多个接口
2、使用java原生代码发布webservice
package server;
import hb.HelloWorldService;
import hb.SessionSendMsg;
import javax.xml.ws.Endpoint;
public class DeployHelloWorldService {
public static void main(String[] args) {
System.out.println("Server start ……");
HelloWorldService service = new HelloWorldService();
String address = "http://localhost:9000/helloWorld";
Endpoint.publish(address, service);
SessionSendMsg sessionSendMsg = new SessionSendMsg();
String address1 = "http://localhost:9000/session";
Endpoint.publish(address1, sessionSendMsg);
}
}
备注:实际上是Endpoint发布多次实现发布多个接口。