我試圖用apache駱駝develp休息服務。我的項目是一個部署在tomcat上的spring mvc war。阿帕奇駱駝+春天(戰爭)+雄貓+休息
我不想使用apache cxf(cxf servlet)。
public class SampleRouter extends RouteBuilder {
@override
public void configure() throws Exception {
from("cxfrs://http://localhost:1234/sample")
.process (new Processor() {
public void process(Exchange exchange) throws Exception {
System.out.println("test");
}
})).setBody(constant("SUCCESS"));
}
}
@Path("/sample")
public class SampleResource {
@GET
public void test() {
}
}
web.xml有dispatcherservlet,contextloaderlistener。
調度-servlet.xml中具有MVC:註解drivem,上下文:組分掃描,
<camelContext id="server" trace="true" xmlns="http://camel.apache.org/schema/spring">
<contextScan />
</camelContext>
的pom.xml具有駱駝核,駱駝CXF,駱駝流,CXF-RT-運輸-http-jetty,cxf-rs-frontend-jaxrs,camel-spring,spring-webmvc,spring-web,spring-context。
Tomcat在8080上運行,服務器啓動時似乎沒有異常。但是,我試圖擊中url(http://localhost:1234/sample
),似乎沒有任何事情發生。
我在想什麼?我最終將這個延伸到REST,以使用認證,過濾器和攔截器將DSL或REST遷移到Java DSL。
我也試過cxf:rsServer,並在路由器類中提到過。
此外,在未來,如果我必須使用https而不是http?或者我如何使url不被硬編碼?
正如我所說的,我沒有使用CXF Servlet或Camel Servlet。另外,我正在部署Tomcat。我在cxf:rsServer xml config中配置的端口爲123,而tomcat在8080上運行。 我只想確認是否可以在不使用servlet的情況下在tomcat上進行部署。另外,我不確定爲什麼我需要爲服務配置不同的端口,而不是服務器以及它如何工作。另外爲什麼我需要包含cxf-jetty jar,儘管我使用的是tomcat。 –
我可以得到一些幫助嗎? –
可以在不使用servlet傳輸的情況下發布webserivce。在這種情況下,您只需確保cxf-rt-http-jetty jar在您的類路徑中。 –