我开始尝试弄清楚如何在 Spring 框架中使用 Apache Camel。我想尝试掌握的第一件事是在此之上运行简单的 Web 服务调用,但我不知道从哪里开始。
现在我所拥有的只是一个基本的 HelloWorld Spring 项目设置,并且正在尝试找出需要配置 Apache Camel 的内容以及从哪里开始创建一个简单的 Web 服务。
我已经查看了 Apache 站点上的示例,但我希望这里的某个人知道一个教程,它是我正在尝试做的事情的基本开始到完成。
感谢大家提供的任何提示或帮助!
我开始尝试弄清楚如何在 Spring 框架中使用 Apache Camel。我想尝试掌握的第一件事是在此之上运行简单的 Web 服务调用,但我不知道从哪里开始。
现在我所拥有的只是一个基本的 HelloWorld Spring 项目设置,并且正在尝试找出需要配置 Apache Camel 的内容以及从哪里开始创建一个简单的 Web 服务。
我已经查看了 Apache 站点上的示例,但我希望这里的某个人知道一个教程,它是我正在尝试做的事情的基本开始到完成。
感谢大家提供的任何提示或帮助!
我真的发现这个有用一次:http ://camel.apache.org/spring-ws-example.html (以及骆驼发行版中的完整源代码)。
您可以通过多种方式使用 Camel 处理 Web 服务。要么使用我提到的示例中的 Spring Web 服务,要么使用 Apache CXF。
与 CXF 相比,Spring Web 服务非常容易上手。虽然 CXF 是一个更完整的 Web 服务栈。
这里有多个 Camel 和 CXF 示例:http: //camel.apache.org/examples.html
如果您使用 CXF,那么在与 Camel 混合之前,您可能会从实际学习一些“仅限 CXF”示例中受益。
基本上有两种方式来做 Web 服务,首先从 WSDL 开始契约,然后自动生成类/接口。另一种方法是代码优先 - 您从 java 类开始,然后获取自动生成的 WSDL。
这里有一些相当不错的文章:http: //cxf.apache.org/resources-and-articles.html
但是要回答您的问题,我不知道有关此问题的任何好的分步教程。链接中的示例非常好。
我有同样的问题,我找到了这篇文章
逐步介绍使用 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 - 创建 web.xml 以集成 Spring 和 CXF。
<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>