`
ceun
  • 浏览: 3341 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Camel转发WebService请求

阅读更多

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&amp;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&amp;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项

0
0
分享到:
评论

相关推荐

    camel-cxf调用和发布webservice例子

    用camel-cxf调用webservice和发布一个webservice接口例子,首先启动QueryServiceMain主函数启动webservice接口,然后启动测试类TestWebservice。例子主要是实现java代码实现camel调用webservice接口

    使用CXF和camel-cxf调用webservice

    Apache CXF和camel-cxf是两个流行的开源框架,它们可以帮助开发者轻松地创建、消费和集成Web服务。本篇文章将详细介绍如何使用CXF和camel-cxf调用Web服务,以及这两个工具的核心功能和使用场景。 Apache CXF是一个...

    05-ApacheCamel-CXF-WebService

    本项目"05-ApacheCamel-CXF-WebService"主要探讨了如何将Apache Camel与Apache CXF整合,以实现高效的服务消费和提供。 在项目中,"05-ApacheCamel-CXF-WebService-Client"这部分内容可能是客户端的应用,用于调用...

    servicemix 7安装使用及camel-cxf代理webservice

    例如,当有外部系统通过HTTP请求调用一个特定的Web服务时,CXF会捕获这个请求,然后通过Camel的路由规则,将请求转发到实际的服务提供者。这样做的好处是可以实现服务的解耦,同时可以通过Camel的转换功能对请求或...

    Camel in action(camel实战)

    ### Apache Camel 在行动 #### 一、Apache Camel 概述 Apache Camel 是一个强大的 Java 框架,它使得开发者能够轻松地实现企业级集成模式。通过简洁而强大的领域特定语言(DSL),开发者可以像拼接乐高积木一样将...

    Apache CXF2+Spring2.5轻松实现WebService

    本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...

    Apache Camel框架 HTTP相关的jar包

    在这个例子中,Camel会从`direct:start`端点接收消息,设置HTTP请求方法为GET,并指定请求URL。然后,它会向`http://localhost:8080`发送请求,并打印出响应内容。 除了基本的HTTP操作,Camel还支持更复杂的用例,...

    Camel服务集成,服务编排操作文档

    Apache Camel 是一个强大的开源框架,专门用于构建企业级应用程序中的集成解决方案。它提供了一种声明式的方式来进行服务集成和服务编排,使得开发者可以方便地连接不同的系统、协议和API,从而构建复杂的数据流。在...

    一种基于Camel 的车联网消息路由转发方案的设计.pdf

    本文提出了一种基于Camel框架的车联网消息路由转发方案设计,旨在解决传统单体转发系统所面临的稳定性和维护性问题,同时也为扩展性和并发性需求提供了解决思路。 首先,我们了解到在传统的车联网系统中,由于需要...

    Camel_Camel3Camel6函数_

    在MATLAB编程环境中,"Camel3Camel6函数"是指用于特定数学计算或数据分析的一系列函数。这些函数可能涉及到曲线拟合、数值优化、数据处理等应用,尤其是在处理涉及非线性问题时,比如模拟生物体的驼峰形状、物理学中...

    [Camel实战].(Camel.in.Action).Claus.Ibsen&Jonathan;.Anstey.文字版

    ### Apache Camel 实战知识点概述 #### 一、Apache Camel 简介 - **定义**:Apache Camel 是一个强大的开源框架,它使开发者能够轻松地实现企业级集成模式(Enterprise Integration Patterns, EIP)。该框架提供了...

    camel-java-http

    Apache Camel 的 HTTP 组件允许你通过HTTP/HTTPS 协议发送请求到远程服务器,或者作为一个HTTP服务器接收请求。这个组件可以与许多流行的HTTP客户端库(如Apache HttpClient)无缝集成,提供了一种灵活的方式来处理...

    ApacheCamel-JDBC

    Apache Camel 是一个流行的开源集成框架,它允许开发者以声明式的方式定义路由和转换数据,使得在不同的软件组件之间实现通信变得更加简单。JDBC(Java Database Connectivity)是Java平台中的一个标准API,用于与...

    Apache Camel中文开发使用指南.zip

    Apache Camel 是一个强大的开源框架,专门用于构建企业级应用程序中的集成解决方案。它提供了一种声明式的方式,使得开发者可以轻松地定义数据路由和处理规则,从而实现系统间的通信。这个"Apache Camel 开发使用...

    camel in action 中文版 第一章

    " Camel In Action 中文版第一章知识点" 本章节将对 Camel 框架进行介绍, Camel 是一个开源的一体化框架,其目的是使一体化系统更容易。本书的第一章节我们将介绍 Camel 及展示它适合大企事业单位的软件。你将会...

    Apache Camel 源码分析.rar

    通过源码,我们可以学习 Camel 如何处理网络请求和响应,以及如何处理常见的网络异常。此外,还能了解到 Camel 如何支持不同的 HTTP 客户端库,如 Apache HttpClient 或 Netty。 然后是 `jdbc` 组件,它提供了与...

    01-ApacheCamel-HelloWorld

    在本例中,我们重点关注的是 HTTP 组件,它允许 Camel 应用程序发送和接收 HTTP 请求。 "Camel-HTTP"标签表明我们将探讨如何使用 Camel 进行 HTTP 调用。HTTP 组件允许你配置 URL、方法(GET、POST等)、请求头、...

    Camel实战中文版第四章.pdf

    ### Camel实战中文版第四章知识点解析 #### 一、章节概览 《Camel实战中文版第四章》主要探讨了Apache Camel框架中如何利用现有的Java Bean进行消息处理和服务调用。这一章节对于理解和掌握Camel如何与现有Java...

    Camel in action PDF和源代码

    《Camel in Action》是关于Apache Camel这一企业级集成框架的专业书籍,这本书深入浅出地讲解了如何使用Camel构建高效、可维护的集成解决方案。PDF版本提供了方便的电子阅读体验,而源代码则帮助读者更好地理解书中...

    Camel所有示例

    - Camel Http组件用于处理HTTP请求和响应。它可以作为客户端发起HTTP请求,也可以作为服务器接收HTTP请求。示例可能会演示如何设置HTTP客户端,发送GET、POST请求,处理响应,或者配置HTTP服务器接收和处理来自外部...

Global site tag (gtag.js) - Google Analytics