Camel转发WebService请求方法一:
前端为CXF,OSGI-INF/blueprint/blueprint.xml
<?xml version="1.0" encoding="UTF-8"?> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0" xmlns:camelcxf="http://camel.apache.org/schema/blueprint/cxf" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.1/blueprint.xsd"> <camelcxf:cxfEndpoint id="greetingService" address="http://localhost:9080/greeting" endpointName="s:GreetingSoap" serviceName="s:GreetingService" wsdlURL="wsdl/greeting.wsdl" xmlns:s="http://demo.ceunfish.org/greeting" /> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <endpoint id="realWebService" uri="http://192.168.4.100:8080/greeting?throwExceptionOnFailure=false&bridgeEndpoint=true" /> <route id="GreetingServiceRoute"> <from uri="cxf:bean:greetingService?dataFormat=MESSAGE" /> <convertBodyTo type="String" /> <to uri="log:input?showHeaders=true" /> <to ref="realWebService" /> <convertBodyTo type="String" /> <to uri="log:output?showHeaders=true" /> </route> </camelContext> </blueprint>
方法二:
前端为jetty,OSGI-INF/blueprint/blueprint.xml
<?xml version="1.0" encoding="UTF-8"?> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0" xmlns:camelcxf="http://camel.apache.org/schema/blueprint/cxf" xsi:schemaLocation=" http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.1/blueprint.xsd"> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <endpoint id="realWebService" uri="http://192.168.4.100:8080/greeting?throwExceptionOnFailure=false&bridgeEndpoint=true" /> <route id="GreetingServiceRoute"> <from uri="jetty:http://localhost:8989/greeting" /> <convertBodyTo type="String" /> <to uri="log:input?showHeaders=true" /> <to ref="realWebService" /> <convertBodyTo type="String" /> <to uri="log:output?showHeaders=true" /> </route> </camelContext> </blueprint>
区别:利用CXF作前端,?wsdl展示的WSDL为指定的wsdl,但是当SOAPAction为空时请求头会缺少SOAPAction项,这样对于AXIS开发的webservice会报no soapAction header错误;
利用jetty作前端,?wsdl展示的为目标服务的wsdl,SOAPAction为空时请求头也不会丢失SOAPAction项
相关推荐
用camel-cxf调用webservice和发布一个webservice接口例子,首先启动QueryServiceMain主函数启动webservice接口,然后启动测试类TestWebservice。例子主要是实现java代码实现camel调用webservice接口
Apache CXF和camel-cxf是两个流行的开源框架,它们可以帮助开发者轻松地创建、消费和集成Web服务。本篇文章将详细介绍如何使用CXF和camel-cxf调用Web服务,以及这两个工具的核心功能和使用场景。 Apache CXF是一个...
本项目"05-ApacheCamel-CXF-WebService"主要探讨了如何将Apache Camel与Apache CXF整合,以实现高效的服务消费和提供。 在项目中,"05-ApacheCamel-CXF-WebService-Client"这部分内容可能是客户端的应用,用于调用...
例如,当有外部系统通过HTTP请求调用一个特定的Web服务时,CXF会捕获这个请求,然后通过Camel的路由规则,将请求转发到实际的服务提供者。这样做的好处是可以实现服务的解耦,同时可以通过Camel的转换功能对请求或...
### Apache Camel 在行动 #### 一、Apache Camel 概述 Apache Camel 是一个强大的 Java 框架,它使得开发者能够轻松地实现企业级集成模式。通过简洁而强大的领域特定语言(DSL),开发者可以像拼接乐高积木一样将...
本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...
在这个例子中,Camel会从`direct:start`端点接收消息,设置HTTP请求方法为GET,并指定请求URL。然后,它会向`http://localhost:8080`发送请求,并打印出响应内容。 除了基本的HTTP操作,Camel还支持更复杂的用例,...
Apache Camel 是一个强大的开源框架,专门用于构建企业级应用程序中的集成解决方案。它提供了一种声明式的方式来进行服务集成和服务编排,使得开发者可以方便地连接不同的系统、协议和API,从而构建复杂的数据流。在...
本文提出了一种基于Camel框架的车联网消息路由转发方案设计,旨在解决传统单体转发系统所面临的稳定性和维护性问题,同时也为扩展性和并发性需求提供了解决思路。 首先,我们了解到在传统的车联网系统中,由于需要...
在MATLAB编程环境中,"Camel3Camel6函数"是指用于特定数学计算或数据分析的一系列函数。这些函数可能涉及到曲线拟合、数值优化、数据处理等应用,尤其是在处理涉及非线性问题时,比如模拟生物体的驼峰形状、物理学中...
### Apache Camel 实战知识点概述 #### 一、Apache Camel 简介 - **定义**:Apache Camel 是一个强大的开源框架,它使开发者能够轻松地实现企业级集成模式(Enterprise Integration Patterns, EIP)。该框架提供了...
Apache Camel 的 HTTP 组件允许你通过HTTP/HTTPS 协议发送请求到远程服务器,或者作为一个HTTP服务器接收请求。这个组件可以与许多流行的HTTP客户端库(如Apache HttpClient)无缝集成,提供了一种灵活的方式来处理...
Apache Camel 是一个流行的开源集成框架,它允许开发者以声明式的方式定义路由和转换数据,使得在不同的软件组件之间实现通信变得更加简单。JDBC(Java Database Connectivity)是Java平台中的一个标准API,用于与...
Apache Camel 是一个强大的开源框架,专门用于构建企业级应用程序中的集成解决方案。它提供了一种声明式的方式,使得开发者可以轻松地定义数据路由和处理规则,从而实现系统间的通信。这个"Apache Camel 开发使用...
" Camel In Action 中文版第一章知识点" 本章节将对 Camel 框架进行介绍, Camel 是一个开源的一体化框架,其目的是使一体化系统更容易。本书的第一章节我们将介绍 Camel 及展示它适合大企事业单位的软件。你将会...
通过源码,我们可以学习 Camel 如何处理网络请求和响应,以及如何处理常见的网络异常。此外,还能了解到 Camel 如何支持不同的 HTTP 客户端库,如 Apache HttpClient 或 Netty。 然后是 `jdbc` 组件,它提供了与...
在本例中,我们重点关注的是 HTTP 组件,它允许 Camel 应用程序发送和接收 HTTP 请求。 "Camel-HTTP"标签表明我们将探讨如何使用 Camel 进行 HTTP 调用。HTTP 组件允许你配置 URL、方法(GET、POST等)、请求头、...
### Camel实战中文版第四章知识点解析 #### 一、章节概览 《Camel实战中文版第四章》主要探讨了Apache Camel框架中如何利用现有的Java Bean进行消息处理和服务调用。这一章节对于理解和掌握Camel如何与现有Java...
《Camel in Action》是关于Apache Camel这一企业级集成框架的专业书籍,这本书深入浅出地讲解了如何使用Camel构建高效、可维护的集成解决方案。PDF版本提供了方便的电子阅读体验,而源代码则帮助读者更好地理解书中...
- Camel Http组件用于处理HTTP请求和响应。它可以作为客户端发起HTTP请求,也可以作为服务器接收HTTP请求。示例可能会演示如何设置HTTP客户端,发送GET、POST请求,处理响应,或者配置HTTP服务器接收和处理来自外部...