servicemix应用小记

 

前一段时间,研究了一下Apache的ServiceMix(3.3.2)的应用,作为一个ESB(基于SOA和EDA)应用,牵涉的内容和知识很多,在整个建立的过程中,感觉有几个概念比较重要:

一、JBI(Java Business Integration)是什么意思。

二、ServiceMix中的BC和SE概念。

三、Provider和Consumer的理解。

2010.07.28

这两天一直在研究利用cxf-bc进行服务代理的实验,今天终于做通了,具体的步骤如下:

1、在ServiceMix外部发布一个webservice,这里我利用cxf,发布了一个HelloWorld的服务,在HelloWorld.wsdl文件中的targetNamespace=”http://spring.demo/“、service name “HelloWorldImplService”、port type “HelloWorld”、port binding name “HelloWorldImplPort”在后面的配置中,将会用到。

 <?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="HelloWorldImplService" targetNamespace="http://spring.demo/" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://spring.demo/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
<xs:schema elementFormDefault="unqualified" targetNamespace="http://spring.demo/" version="1.0" xmlns:tns="http://spring.demo/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sayHi" type="tns:sayHi"/>
<xs:element name="sayHiResponse" type="tns:sayHiResponse"/>
<xs:complexType name="sayHi">
    <xs:sequence>
      <xs:element minOccurs="0" name="arg0" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
<xs:complexType name="sayHiResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="return" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
  </wsdl:types>
  <wsdl:message name="sayHiResponse">
    <wsdl:part element="tns:sayHiResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="sayHi">
    <wsdl:part element="tns:sayHi" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="HelloWorld">
    <wsdl:operation name="sayHi">
      <wsdl:input message="tns:sayHi" name="sayHi">
    </wsdl:input>
      <wsdl:output message="tns:sayHiResponse" name="sayHiResponse">
    </wsdl:output>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="HelloWorldImplServiceSoapBinding" type="tns:HelloWorld">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="sayHi">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="sayHi">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="sayHiResponse">
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="HelloWorldImplService">
    <wsdl:port binding="tns:HelloWorldImplServiceSoapBinding" name="HelloWorldImplPort">
      <soap:address location="http://localhost:8080/cxf_spring_web/HelloWorld"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

2、cxf_bc中的配置

    在cxf_bc中需要配置两个endpoint,一个为provider,利用它来连接外部的service:

     <cxfbc:provider wsdl="classpath:HelloWorld.wsdl"
           locationURI="http://localhost:8080/cxf_spring_web/HelloWorld"
                       service="hello:HelloWorldImplService"
                      endpoint="HelloWorldImplPortProxy"
                      interfaceName="hello:HelloWorld"
                    / >

    需要注意的是service的名字为hello:HelloWorldImplService要和wsdl中定义的一致,hello为文件头中定义的namespace=“http://spring.demo/"。

利用一个consumer的endpoint连接这个provider,从而形成一个webService发布的桥:

      <cxfbc:consumer wsdl="classpath:HelloWorld.wsdl"
                      locationURI="http://localhost:19000/CalculatorService/SoapPort"
                      service="hello:HelloWorldImplService"
                      endpoint="HelloWorldImplPort"
                      targetEndpoint="HelloWorldImplPortProxy"
                      targetService="hello:HelloWorldImplService"
                      targetInterface="hello:HelloWorld"/>

这里需要注意的一是locationURI要和原始的service发布路径不一致,否则就会产生混淆;二是service和provider中定义的一致;三是endpoint名字是wsdl中定义的port binding name。

经过测试,以上配置就实现了在ServiceMix中发布WebService的功能。

Apache ServiceMix 初探 改文章算是笔记,针对的是apache-servicemix-4.5.3相配套的qucikstart.pdf文档。 基本操作 启动servicemix:运行 "apache-servicemix-4.5.3\bin"文件夹下面的servicemix.bat,弹出ServiceMix的控制台,在这个控制台上可以增加或删除bundles,安装各种可选的特性。 查看已经安装的bundles:运行 o 阅读详情

相关推荐

ServiceMix Bundle Camel ActiveMQ环境搭建入门实例Demo

本书适合入门学习,所有例子都有源码 1.Servicemix环境安装和配置 2.Eclipse开发环境安装搭建 3.用Bundle对应用组件模块化 4.Camel的应用和例子 Bundle之间的消息传递, Errorhandling 负载均衡 。。。。。。 5.Camel利用ActiveMQ来实现对消息的机制的支撑

使用Servicemix(ESB)发布一个外部的WebService

首先我们需要了解一下相关概念,什么SOA,什么是ESB 面向服务的体系结构(Service-Oriented Architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以一种统一和通用的方式进

redria的专栏 8262

企业应用集成与开源ESB产品ServiceMix和Mule介绍

–ServiceMix架构–ServiceMix组件概览–ServiceMix实战–Demo–Mule的工作机理–Mule组件概览–Mule实战–Demo–削弱了部门间的协作–影响资源的整合Point-to-PointsolutionHub-and-SpokesolutionEnterpriseMessageBusIntegrationEnterpriseServiceBusIntegrationServiceMix是基于JBI(JSR208)规范构建的ESB产品,作为ASF的一员,它集成了包括ActiveMQ,Camel,CXF,ODE,Karaf在内的一系列ASF的优秀产品和工具。Serv

工作小记

这两天跟开源ESB干上了,MULE玩了一周,确实不错,功能挺强大,可以CE版不支持集群,只有EE的白金版才有,太狠了,也不知道要多少钱。网上搜索了下CE做集群的方案,基本没什么底层方案,无非是通过MQ做数据流动,或者在多个MULE实例前面加HTTP负载均衡,也是不错的方法,不过如果有轮询服务就不行了,有可能造成多实例同时访问,需要注意。 在QQ群里咨询了下,有人推荐OW2的ESB,简单看了下,有

397

VScode远程连接开发嵌入式开发板

VScode远程连接开发调试嵌入式开发板

qq_53221728的博客 5891

ZEMAX优化方法---【Zemax学习】

在光学系统自动设计中,优化设计是光学设计中的重要阶段,也是ZEMAX软件的核心功能,涉及评价函数、权因子、阻尼因子等重要概念。在常用的阻尼最小二乘法优化设计的基础上,ZEMAX给我们提供了三种优化选择:Optimization(局部优化)、Global Search(全局优化)和 Hammer Optimization(锤形优化)。

yh的博客 4448

使用 Apache ServiceMix 作为 Healthcare Service Bus

简介: Healthcare Service Bus (HSB) 使各种医疗保健应用程序互连和互操作从而交付高效的服务。本文由两部分组成,其中 第 1 部分 讨论了通过使用 Java™ Business Integration (JBI) 体系结构对医疗保健服务进行聚合。第 2 部分将为您显示如何使用一个开源 JBI 实现 — Apache ServiceMix — 作为一个 HSB。您将配置应

borhunter的专栏 789

高速串行信号仿真避坑指南:为什么你的SIwave Xnet设置了却不出结果?

本文深入解析SIwave中Xnet功能在高速串行信号仿真中的常见问题,包括模型缺失、网络不完整和端口设置错误等关键误区。通过详细的电路元件模型验证、网络完整性检查及端口配置指南,帮助工程师有效解决仿真不出结果的问题,提升信号完整性分析效率。

weixin_29218963的博客 251

Apache ServiceMix 介绍

LogicBlaze FUSE中的Apache ServiceMix要理解LogicBlaze FUSE和它的性能,需要先对Apache SercieMix有一些必要的了解。Apache SercieMix是一个适应JBI的ESB。JBI允许在标准基础设施中使用第三方组件,并且允许这些组件以一种定义好的方式进行交互操作。我们这里主要关注JBI容器的两个主要的功能:JBI组件和消息交换机

与世无争 8144

Transformers在自动驾驶领域的应用(High-level like in scene)

Transformers uses global attention mechanism to capture long-range interaction information. Two core modules in Transformers are Self-Attention and Cross-Attention, which defined asAttn(Q,K,V)=softmax(QK⊤dk)VSelfAttn(X)=Attn(WQX,WKX,WVX)CrossAttn(X,Y)=Attn

qq_39337332的博客 1775

Lumerical FDTD新手教程:5步搞定MMI波导光谱模拟(附避坑指南)

本文提供Lumerical FDTD新手教程,详细讲解5步完成MMI波导光谱模拟的实用方法,包括环境准备、结构建模、光源配置、仿真优化和结果分析。特别针对多模干涉耦合器(MMI)的模拟难点,提供避坑指南和优化策略,帮助光学工程师快速掌握FDTD仿真技术。

kite3的博客 359

jboss fuse 教程_教程:使用Fuse Fabric管理Apache ServiceMix集群

Torsten Mielke通过以前的FuseSource(现在由Red Hat领导的项目)介绍了一些强大的OSGi和ESB概念。 管理大量部署了数十个应用程序的ServiceMix实例并非易事,但是Red Hat的开源项目ServiceMix可以帮助降低应用程序部署的复杂性。 Apache ServiceMix是相当流行的开源ESB,最适合于Integration和SOA项目。 它提...

691

在win10系统上安装opnet14.5注意事项和步聚

opnet 14.5安装避坑!

miracle_eicont的专栏 1037

Servicemix之基础事例(Basic Example)

<br /> <br /> <br /> <br />Basic 事例演示下面的操作:use of declarative programming 如何使用 ActiveMQ 消息经纪人(message broker) 如何使用 Quartz 定时器 如何使用 Jencks JCA 容器 如何使用 Geronimo事务管理 ,通过使用 Jencks factory bean如何跟踪 <br />Basic 事例的源代码存放在ServiceMix 安装目录下的examples/basic/src/main/r

A Blog Just For Qiailin 3922

DeepQA: A Unified Transcriptome-Based Aging Clock Using Deep Neural Networks

摘要: 本研究针对转录组衰老时钟存在的关键局限——仅在健康样本训练导致对患病个体预测偏差的问题,提出DeepQA,一种基于专家混合架构与新型Hinge-MAE损失函数的深度学习模型。通过同时利用健康与患病个体的异质数据训练,DeepQA显著提升预测精度:在健康个体上MAE比现有方法低1.5年,且是首个能正确处理五类疾病条件的模型。其创新性体现在: 方法学突破:Hinge-MAE损失函数消除健康/患病样本的训练偏差,专家混合架构高效整合多队列数据; 流程革新:摒弃传统基因预筛选步骤,通过显著图分析直接识别衰老

qq_44050612的博客 125

YOLOv10改进策略【模型轻量化】| 替换骨干网络为MoblieNetV2,含模型详解和完整配置步骤

本文记录的是。采用深度可分离卷积将标准卷积分解为深度卷积和1×1卷积。同时,引入来,避免非线性层导致的性能下降问题。本文将应用到YOLOv10中,借助其高效的结构和特性,在保持一定精度的前提下,显著降低YOLOv10的计算复杂度和内存占用。

Limiiiing的博客 532

serviceMix 教程1

1.HTTP-binding(ServiceMix) 1.4 各组件间传递消息流的过程如下: 1. HttpClient:Http客户端运行一个独立的Java客户端程序,通过其中的URLConnection类连接到http://localhost:8912,将request.xml文件发送到此端口。 2. HttpReceiver:在H...

iteye_14068的博客 330

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Apache ServiceMix入门之一

ServiceMix是Apache的一个顶级开源项目,是一个ESB实现。在个人看来,它最大的特色就是从核心到应用全面支持OSGI。 ServiceMix是以Karaf为内核,而Karaf也是从早期ServiceMix的内核部分独立出来而成的一个Apache顶级项目。Karaf是整合OSGI framework及一些周边基础功能实现而成的OSGI运行时环境,所以,可以说ServiceMix...

phomkueng的专栏 634

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ServiceMix入门(1):环境搭建

官网下载地址http://servicemix.apache.org/downloads.html 官网文档地址http://servicemix.apache.org/docs/6.x/index.html servicemix快速开始文档http://servicemix.apache.org/docs/6.x/quickstart/quickstart.pdf 学习一个新技术,最好...

Min_Monk的博客 1914

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ServiceMix(三) 部署简单的项目

在这部分里,有一点涉及到Camel的内容,不过很简单,camel就是用Url去描述端点的路由。 应用场景:    在一个文件夹里放入文件的时候,将这个文件转移到另一个文件夹。 建立路由:    任意建立一个xml文件如下(这里命名为blueprint.xml)

学习笔记 3502

初学ServiceMix

因为老板给的毕业题目是ESB相关,需要学下ServiceMix(版本7.0.1) 但是SOA这东西技术上比较旧,加上主要是企业在用,个人学习的不多,所以资料比较少 优快云上看到篇文章不错但是有些地方没有讲出来,自己摸索着试验成功以后把步骤记下来防止忘了2333 先附上参考资料:https://blog.youkuaiyun.com/iteye_15360/artic...

WGH100817的博客 182

ServiceMix框架研究(1)

直接上图 [img]http://dl.iteye.com/upload/attachment/295681/23112961-ba86-3813-8858-f28a7e43b9ba.png[/img]

拼命工作,好好玩 143

Apache Servicemix介绍

 支持 SUN JSR 208规范: Java Business Integration (JBI) , 采用 Apache 许可协议。 关于JBI及JBI容器: Java Business Integration,JBI的本质是一种服务总线思想,它的目的是创建一个用于各种Java组件服务集成的运行环境,其JBI的核心总线结构支持插件操作。 JBI的具体实现即是一个JBI容器,它以一种可插拔...

lylhelin的专栏 424

ESB SOA Servicemix启动详解(详细)

最近有朋友在问servicemix的相关资料,这里做一下详细的介绍声明 :文章属原创作品,如需转载请注明出处,否则定追究其法律责任 。servicemix相关资料我这里不在多说直接进入正题:这里说点额外的话题,对于servicemix当然我们不能仅仅满足于这样就行了,其实对于SOA 和 ESB 来说 像IBM 金蝶 等等来说才是ESB运非常的完美,在企业中大家都想实现ESB 。整天谈什么架构、其实归总如果相对自己的公司能够实现最完美的方案就是好方案。实现了ESB确实非常方便,第一点支持热部署且实现可插可拔的

A Blog Just For Qiailin 6097

java项目部署到servicemix,初学ServiceMix

因为老板给的毕业题目是ESB相关,需要学下ServiceMix但是SOA这东西技术上比较旧,加上主要是企业在用,个人学习的不多,所以资料比较少优快云上看到篇文章不错但是有些地方没有讲出来,自己摸索着试验成功以后把步骤记下来防止忘了23331.安装与启动Windows下安装ServiceMix很简单,直接解压即可,没有任何其他操作,安装组件或者设置环境变量都不是必需的启动方法:运行SERVICEM...

weixin_30691683的博客 801
上一篇: activemq master/slave 结构配置解析
下一篇: 利用xmlDoc读取xml文件构建ExtJS Tree
tkxing
博客等级 码龄19年 1粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值