CXF實現服務的發布
在之前也謝了幾篇關于CXF進行服務的發布的文章,基于Spring以及基于jetty
本文同樣實現基于Jetty內置服務器進行服務的發布,主要解決的問題就是發布出來的WSDL中方法參數名稱不一致的問題
接口文件:
package demo.hw.server;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
@WebMethod
@WebResult(name="callBack")
String sayHi(@WebParam(name="username")String username);
}
實現類:
package demo.hw.server;
public class HelloWorldImpl implements HelloWorld {
public String sayHi(String text) {
System.out.println("sayHi called");
return "Hello " + text;
}
}發布:(1)
package demo.hw.server;
import javax.xml.ws.Endpoint;
public class Server {
public static void main(String args[]) throws Exception {
Endpoint endpoint = Endpoint.publish(
"http://localhost:8080/WSCXF/helloService",
new HelloWorldImpl());// 這里是實現類
System.out.println("WS發布成功!");
}
}
發布(2)
HelloWorldImpl helloworldimp = new HelloWorldImpl();
JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();
factoryBean.setAddress("http://localhost:8080/WSCXF/helloService");
factoryBean.setServiceClass(HelloWorld.class);//接口類
factoryBean.setServiceBean(helloworldimp);
factoryBean.create();實現結果:
http://localhost:8080/WSCXF/helloService?wsdl

總結: 在之前探究了一段時間,實現了Spring無注解的發布服務,并實現了攔截器等功能,但是現在項目需求能夠對服務進行控制,能夠控制啟動和停止,于是個人認為利用內置 Jetty服務器則可以實現對服務的控制,這樣的話就需要進行注解編程,個人在探索中學習,如果童靴你又好的方法,希望能夠分享一下。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!