我正在使用Jetty進入Maven項目來部署一個小型Web服務器。我想在同一個項目中部署REST/SOAP服務(我正在關注This Tutorial)。如果我用Maven編譯只有REST/SOAP工作,並且如果我使用Jetty編譯,只有網頁可以工作。在同一個Maven項目中的Web服務和Web服務器
有兩個問題:
1.我該怎麼做才能使這兩個部件工作?
2. SOAP目前在CXF下。遷移到AXIS2M有多容易?
我正在使用Jetty進入Maven項目來部署一個小型Web服務器。我想在同一個項目中部署REST/SOAP服務(我正在關注This Tutorial)。如果我用Maven編譯只有REST/SOAP工作,並且如果我使用Jetty編譯,只有網頁可以工作。在同一個Maven項目中的Web服務和Web服務器
有兩個問題:
1.我該怎麼做才能使這兩個部件工作?
2. SOAP目前在CXF下。遷移到AXIS2M有多容易?
問題可能在於,如果您在教程鏈接中使用相同的代碼粘貼,則Main.java不會註冊CXFServlet。現在,您需要在兩個單獨的端口號上進行兩種配置,即一個用於Web應用程序,另一個用於SOAP服務。這將解決問題。
所以主類需要進行修改,以有類似以前的和新的塊代碼如下:
Server server = new Server(9090);
// Register and map the dispatcher servlet
final ServletHolder servletHolder = new ServletHolder(new CXFServlet());
final ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.addServlet(servletHolder, "/rest/*");
context.addEventListener(new ContextLoaderListener());
context.setInitParameter("contextClass", AnnotationConfigWebApplicationContext.class.getName());
context.setInitParameter("contextConfigLocation", AppConfig.class.getName());
server.setHandler(context);
server.start();
server.join();
來源:http://aredko.blogspot.co.uk/2014/09/embedded-jetty-and-apache-cxf-secure.html
希望這有助於
謝謝Ashok。您在代碼中提供給我的一些庫來自Spring。我們想避免使用Spring,因爲我們的開發過於沉重。我們可以使用這些庫而不使用Spring嗎?我怎樣才能使用兩個端口?謝謝。 –
可以請你添加一些代碼片段來說明問題 – Ashoka