近公司需要写这样一个功能。也就是需要一个esb消息总线。初步的功能是提供webservice的消息管理以后还会增加很多的功能。。以前本来在soa
esb上面的东西就是个空白。在Google上找了一天最后由我自己觉得用mule2.1.2。让后就疯狂的找些好的帖子。希望能够很快的入门。但发现不
是那么一回事。找到的很多都是1.X的版本。2.1.2
的少得很。经过近半周的研究。。终于自己写了一个小的test。贴上来给新入门的朋友希望有帮助。深入的研究以后还会继续。
配置文件:mule_config.xml
- <?xml version="1.0" encoding="UTF-8"?>
-
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.1"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xmlns:spring="http://www.springframework.org/schema/beans"
-
xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.1"
-
xmlns:cxf="http://www.mulesource.org/schema/mule/cxf/2.1"
-
xmlns:axis="http://www.mulesource.org/schema/mule/axis/2.1"
-
xmlns:smtps="http://www.mulesource.org/schema/mule/smtps/2.1"
-
xmlns:http="http://www.mulesource.org/schema/mule/http/2.1"
-
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.1"
-
xmlns:soap="http://www.mulesource.org/schema/mule/soap/2.1"
- xsi:schemaLocation="
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
-
http:
- ">
- <description>
- eagleMule demo which shows how to publish web services over CXF.
- </description>
-
<model name="eagleMule">
-
<service name="testMuleService">
- <inbound>
-
<axis:inbound-endpoint address="http://localhost:8899/services/testMuleService">
- <soap:http-to-soap-request-transformer />
- </axis:inbound-endpoint>
-
<cxf:inbound-endpoint address="http://localhost:8898/services/testMuleService">
- <soap:http-to-soap-request-transformer />
- </cxf:inbound-endpoint>
- </inbound>
-
<component class="com.eagle.mule.test.imp.MuleServiceImp">
- </component>
- </service>
- </model>
- </mule>
一个简单的 接口 为了先跑同就这样把。
MuleService.java
- @WebService
-
public interface MuleService {
-
public String testMule(@WebParam(name="str")String str);
- }
MuleServiceImp.java
- @WebService(serviceName="eagleMuleService",
-
endpointInterface="com.eagle.mule.test.MuleService")
-
public class MuleServiceImp implements MuleService {
-
-
public String testMule(String str) {
-
System.out.println("----service---");
-
return "hello--"+str;
- }
- }
启动服务:
- public class EagleMuleMain {
-
public static void main(String[] args) throws ConfigurationException, InitialisationException {
-
try {
-
String configFile = "com/eagle/mule/test/mule_config.xml";
-
String[] configFileArr = new String[] { configFile };
-
MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
- MuleContext context = muleContextFactory
-
.createMuleContext(new SpringXmlConfigurationBuilder(
- configFileArr));
- context.start();
-
} catch (MuleException t) {
- t.printStackTrace();
- }
- }
- }
测试
- package com.eagle.mule.test.clint;
-
-
import java.io.IOException;
-
import java.io.InputStream;
-
-
import org.apache.commons.io.IOUtils;
-
import org.mule.api.MuleException;
-
import org.mule.api.MuleMessage;
-
import org.mule.module.client.MuleClient;
-
-
public class Client {
-
public static void main(String[] args){
-
MuleClient client = null;
-
try {
-
client = new MuleClient();
-
String url = "axis:http://localhost:8899/services/testMuleService/testMuleService?method=testMule";
-
-
MuleMessage message = client.send(url, "eagle", null);
- Object obj = message.getPayload();
-
System.out.println("--------------obj---------"+obj.getClass().getName());
-
if(obj instanceof String){
-
System.out.println("---------str--------------"+obj);
- }
-
} catch (MuleException e) {
-
- e.printStackTrace();
-
}finally{
- client.dispose();
- }
-
- }
- }
- 注意 这里需要把mule 下lib中 endorsed mule opt 文件夹中的jar都加进去。如果不发布cxf的服务 可以不用添加endorsed文件夹中的jar。
分享到:
相关推荐
在当今复杂的IT环境中,服务总线技术扮演着重要的角色,它能够有效地集成不同的应用程序和服务。本文将详细介绍如何利用Mule ESB(Enterprise Service Bus)作为代理来访问CXF发布的Web服务。 #### 建立CXF服务端 ...
- 提供了一个强大的平台用于构建企业级的应用程序和服务集成解决方案。 2. **可插入的连接性:** - 支持多种协议和技术,如 JMS、JDBC、TCP、UDP、Multicast、HTTP、Servlets、SMTP 等。 - 这意味着开发者可以...
必须为Web客户端正常设置“ newGameWebService”和“ newGuessWebService”的“ url”字段。 { kind: WebService, name: "newGameWebService", ... //url: "http://localhost:8081/api/game/jotto", url: ...
Mule 2.0支持多种传输协议和服务,能够实现不同系统之间的无缝通信。 #### 二、配置变化 在Mule 2.0中,配置方式有了重大改进,主要包括以下几个方面: ##### 1. 文件头部的变化 - **从DTD到Schema**:Mule 1.4...
自2005年发布1.0版以来,Mule因其开源特性和强大的功能,迅速获得了社区的关注和支持,被多家知名企业如沃尔玛、HP、索尼、德意志银行及花旗银行等采用。更多关于Mule的信息,可访问官网:http://mule.codehaus.org/...
谷歌自定义搜索模块 这是一个通过 Mule ESB 使用 Google 自定义搜索 API 的模块。 有关 API 的更多信息,请访问: ... mule xmlns : http = " http://www.mulesoft.org/schema/mule/http " xmlns : google-search = " ...
mule3.4的eclipse插件 这个插件的安装方法见:http://blog.csdn.net/linlin_jiong/article/details/6915210 使用其中的“方法二”、“方法三”都可以。
“Mule源码编译和发布教程” Mule是一个基于Java的集成平台,提供了一个灵活、可扩展的架构来集成各种应用程序和系统。在本文档中,我们将详细介绍如何从Mule的源代码中编译出Eclipse项目,并将其发布到服务器上。 ...
在IT行业中,构建高效、可扩展的企业级应用是至关重要的,而Mule ESB(企业服务总线)和Apache CXF则是实现这一目标的两大关键工具。本文将深入探讨如何利用Mule服务总线代理Apache CXF服务源码,帮助开发者更好地...
博文链接:https://hideto.iteye.com/blog/65607
Mule ESB是一种集成平台,用于构建连接不同系统和服务的应用程序。Mule的配置文件采用XML格式,组织成一棵XML元素树,其中包含了对服务、路由、转换器等关键组件的定义。 #### 二、基本标签及功能介绍 ##### 1. `...
Mule ESB支持多种传输协议,如文件、FTP、UDP、TCP、SOAP、电子邮件、JMS等,并能够与Spring、ActiveMQ、CXF、Axis、Drools等流行开源项目无缝集成。此外,尽管Mule ESB并非基于JBI(Java Business Integration)...
### CAS安装指南以及开发步骤详解 #### CAS简介 CAS(Central Authentication Service)是由JA-SIG组织发起的一个项目,旨在为Web应用系统提供一种统一...后续可以根据实际需求进一步定制和优化CAS系统的功能和服务。
"Mule开发环境搭建和部署" Mule是当前流行的企业服务总线(Enterprise Service Bus, ESB),它提供了一个灵活、可扩展、高性能的集成平台。构建Mule开发环境是Mule应用程序的基础,以下将对Mule开发环境的搭建和...
MuleESB部署文档 MuleESB是一种集成平台,旨在帮助开发者快速构建、测试和部署集成解决方案。下面是MuleESB的部署文档,涵盖了Mule安装、集成、发布、打包等方面。 一、Mule安装 在开始安装Mule之前,需要准备好...