2013-01-11 147 views
2

我開始嘗試弄清楚如何在Spring框架內使用Apache Camel。我想嘗試掌握的第一件事就是運行簡單的Web服務調用,但我不知道從哪裏開始。Spring與Apache Camel和Web服務入門

現在我所擁有的是一個基本的HelloWorld Spring項目,並且試圖找出需要配置Apache Camel的方法以及從哪裏開始創建簡單的Web服務。

我看了一下Apache網站上的例子,但我希望也許有人在這裏知道一個教程,這是一個基本的開始完成像我想做的事情。

感謝您提供的任何提示或幫助!

回答

5

我真的發現這個有用的一次:(和完整的駱駝發行版源代碼)。

您可以通過多種方式使用Camel處理Web服務。或者像我提到的例子那樣使用spring web服務,或者使用Apache CXF。

與CXF相比,Spring Web服務非常容易上手。雖然CXF是一個更完整的Web服務堆棧。

有多種駱駝和CXF的例子在這裏: http://camel.apache.org/examples.html

如果你去CXF,你可能會從駱駝混合之前居然學了幾句「CXF唯一」的例子中受益。

基本上有兩種方法可以完成Web服務,合同首先從WSDL開始,然後自動生成類/接口。另一種方法是代碼優先 - 你從java類開始,然後得到一個自動生成的WSDL。

有超過這裏一些相當不錯的文章:http://cxf.apache.org/resources-and-articles.html

但是,爲了回答你的問題,我不知道有什麼好的一步一步的教程就此事的。鏈接中的例子確實很好。

-1

我有同樣的問題,我發現這篇文章

步驟利用CXF和Spring逐步介紹Web服務創建: http://www.ibm.com/developerworks/webservices/library/ws-pojo-springcxf/index.html?ca=drs-

總之,有四個步驟來創建Web服務

1 - 創建一個服務端點接口(SEI)並定義一個方法以將 公開爲Web服務。

package demo.order; 

import javax.jws.WebService; 

@WebService 
public interface OrderProcess { 
    String processOrder(Order order); 
} 

2 - 創建實現類並將其註釋爲Web服務。

package demo.order; 

import javax.jws.WebService; 

@WebService(endpointInterface = "demo.order.OrderProcess") 
public class OrderProcessImpl implements OrderProcess { 

public String processOrder(Order order) { 
    return order.validate(); 
} 
} 

3 - 創建的beans.xml和定義服務類作爲使用JAX-WS前端一個Spring bean 。

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:jaxws="http://cxf.apache.org/jaxws" 
xsi:schemaLocation=" 
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd 
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> 

<import resource="classpath:META-INF/cxf/cxf.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 

<jaxws:endpoint 
    id="orderProcess" 
    implementor="demo.order.OrderProcessImpl" 
    address="/OrderProcess" /> 

</beans> 

4 - 創建網絡。xml集成Spring和CXF。使用Apache駱駝

<web-app> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>WEB-INF/beans.xml</param-value> 
</context-param> 

<listener> 
    <listener-class> 
    org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 

<servlet> 
    <servlet-name>CXFServlet</servlet-name> 
    <display-name>CXF Servlet</display-name> 
    <servlet-class> 
    org.apache.cxf.transport.servlet.CXFServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>CXFServlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
</web-app>