`
network-eagle
  • 浏览: 59374 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

mule2.1.2 初步认识 发布cxf 和axis服务

阅读更多
最近公司需要写这样一个功能。也就是需要一个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://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd
               http://www.mulesource.org/schema/mule/stdio/2.1 http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd
               http://www.mulesource.org/schema/mule/vm/2.1 http://www.mulesource.org/schema/mule/vm/2.1/mule-vm.xsd
               http://www.mulesource.org/schema/mule/cxf/2.1 http://www.mulesource.org/schema/mule/cxf/2.1/mule-cxf.xsd
               http://www.mulesource.org/schema/mule/axis/2.1 http://www.mulesource.org/schema/mule/axis/2.1/mule-axis.xsd
               http://www.mulesource.org/schema/mule/smtps/2.1 http://www.mulesource.org/schema/mule/smtps/2.1/mule-smtps.xsd
               http://www.mulesource.org/schema/mule/soap/2.1 http://www.mulesource.org/schema/mule/soap/2.1/mule-soap.xsd
               http://www.mulesource.org/schema/mule/http/2.1 http://www.mulesource.org/schema/mule/http/2.1/mule-http.xsd
               ">
     <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?wsdl&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) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			client.dispose();
		}

	}
}
注意 这里需要把mule 下lib中 endorsed  mule  opt 文件夹中的jar都加进去。如果不发布cxf的服务 可以不用添加endorsed文件夹中的jar。 
分享到:
评论
3 楼 gaoming25 2009-01-12  
好贴,我也是在研究呢
想问一下,为什么我安装mule2.1.2的安装jar包是,提示找不到main函数,安装失败??
在次之前上面有mule1.3.3版本
2 楼 network-eagle 2009-01-04  
希望对你有帮助就行。现在就是在基于消息这块还在继续研究中。也希望大家一起交流
1 楼 andiyang 2009-01-03  
好贴,我最近也在研究

相关推荐

    利用mule服务总线代理cxf服务

    在当今复杂的IT环境中,服务总线技术扮演着重要的角色,它能够有效地集成不同的应用程序和服务。本文将详细介绍如何利用Mule ESB(Enterprise Service Bus)作为代理来访问CXF发布的Web服务。 #### 建立CXF服务端 ...

    利用mule服务总线代理cxf服务源码

    在IT行业中,构建高效、可扩展的企业级应用是至关重要的,而Mule ESB(企业服务总线)和Apache CXF则是实现这一目标的两大关键工具。本文将深入探讨如何利用Mule服务总线代理Apache CXF服务源码,帮助开发者更好地...

    实战Mule:利用Mule调用XFire发布的Web服务

    总结来说,"实战Mule:利用Mule调用XFire发布的Web服务"涉及到的是企业级服务集成的核心技术,通过这种方式,可以有效地将不同系统和服务连接起来,形成一个无缝的数据交换网络,这对于现代企业的数字化转型和业务...

    实战Mule:利用Mule调用XFire发布的文件上传服务

    《实战Mule:利用Mule调用XFire发布的文件上传服务》 在现代企业级应用集成(EAI)中,Mule ESB(Enterprise Service Bus)作为一种强大的中间件,广泛用于构建灵活、可扩展的系统架构。而XFire是早期的Java Web...

    mule-2.2.1-users-guide

    Mule是一款非常流行的集成平台,用于构建连接应用程序、数据源和服务的集成解决方案。下面的内容将涵盖该版本中提及的重要概念、配置方法以及特定传输方式的使用。 ### Mule 2.2.1 用户指南概览 Mule 2.2.1用户...

    mule使用SOAP工件发布和消费web Service的简单例子

    在IT行业中,Mule ESB(企业服务总线)是一个流行的开源集成平台,它用于构建应用程序和服务之间的连接。本文将详细讲解如何使用Mule来发布和消费SOAP(Simple Object Access Protocol)Web服务,通过一个名为"hello...

    mule开发环境搭建和部署

    "Mule开发环境搭建和部署" Mule是当前流行的企业服务总线(Enterprise Service Bus, ESB),它提供了一个灵活、可扩展、高性能的集成平台。构建Mule开发环境是Mule应用程序的基础,以下将对Mule开发环境的搭建和...

    Mule stdio 安装过程

    Mule ESB支持多种传输协议,如文件、FTP、UDP、TCP、SOAP、电子邮件、JMS等,并能够与Spring、ActiveMQ、CXF、Axis、Drools等流行开源项目无缝集成。此外,尽管Mule ESB并非基于JBI(Java Business Integration)...

    mule in action 说明+文档介绍

    mule in action 和doc文档详细介绍 Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。UMO可以是POJO,JavaBean等等。它支持30多种传输协议...

    MuleESB3.0中文教程

    - **定位**:Mule ESB 3.0是一款轻量级的消息框架和整合平台,旨在帮助企业轻松地集成不同的系统和服务。 - **核心特性**:基于EIP(Enterprise Integration Patterns)原则构建,支持多种传输协议(如file, FTP, ...

    Mule3.4入门学习

    本文将对Mule3.4进行入门学习,涵盖Mule环境搭建、Webservice的发布、JMS消息通信、ftp、File应用、协议转换等知识点。 一、Mule环境搭建 Mule环境的搭建需要JDK的支持,包括下载、安装、配置JDK。首先,需要下载...

    mule web service exsample

    在这个示例中,我们将深入探讨如何使用Mule来发布Web服务,这是一种允许不同系统间交换数据的有效方式。 1. **Mule基础知识** Mule 是一个开源的企业级服务总线,它支持多种协议和数据格式,如HTTP、JMS、FTP等。...

    mule IDE (mule ESB)

    Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...

    mule文档详解 mule

    它是一种中间件,旨在促进不同应用程序之间的数据交换,通过提供一个集成平台来连接各种系统、应用和服务。Mule ESB的核心优势在于其轻量级设计和高度可扩展性,使得它能够在不牺牲性能的情况下处理大量复杂集成任务...

    浪曦航母战斗编队式企业级项目培训系列明细

    浪曦航母战斗编队式企业级项目培训系列明细 JAVA,JSP/Servlet基础 Struts2 ...Mule Esb发布基于CXF,Axis的WebService, Extjs3.2与Html/css/js整合打造不规则九宫格效果 JBPM4.4开发销售工作流

Global site tag (gtag.js) - Google Analytics