- 浏览: 2677852 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
80后的童年2:
深入浅出MongoDB应用实战开发网盘地址:https://p ...
MongoDB入门教程 -
shliujing:
楼主在不是精通java和php的前提下,请不要妄下结论。
PHP、CakePHP哪凉快哪呆着去 -
安静听歌:
希望可以一给一点点注释
MySQL存储过程之代码块、条件控制、迭代 -
qq287767957:
PHP是全宇宙最强的语言!
PHP、CakePHP哪凉快哪呆着去 -
rryymmoK:
深入浅出MongoDB应用实战开发百度网盘下载:链接:http ...
MongoDB入门教程
下载和安装XFire和Mule
参考http://hideto.iteye.com/blog/59750和http://hideto.iteye.com/blog/64742对XFire和Mule的介绍
本文例子也以上述两篇文章的例子为背景。
利用XFire发布一个Web服务BookService
在Eclipse里新建项目webservice,目录结构如下:
其中web.xml:
以及services.xml:
我们发布BookService类的findBookByISBN方法,通过传入book的isbn返回查询到的book的title
注意services.xml中我们把BookService的namespace设置为http://localhost:9090/webservice/services/BookService,这是为了在同一机器上同时
启动两个Tomcat实例来测试我们的demo,我们将启动一个Tomcat来host我们发布的BookService,并且port设置为9090,而启动的第二个Tomcat用来
host我们的Mule ESB,以及前台页面调用测试。
好了,现在我们已经可以启动第一个Tomcat实例来发布BookService了,访问http://localhost:9090/webservice/services/BookService?wsdl可以看
到XFire自动生成的WSDL文档。
利用Mule构建我们的ESB中心
在Eclipse里创建新项目esb,目录结构如下:
其中web.xml:
以及mule-services-config.xml:
这里我们配置了我们要调用的BookService的outbound router endpoint的address为:
wsdl-xfire:http://localhost:9090/webservice/services/BookService?wsdl&method=findBookByISBN
好了,我们的Mule ESB已经构建好了,并且我们在自己的ESB中注入了一个Web服务BookService,我们不用担心底层的实现,我们只需按照接口简单调用即可。
下面我们写前端调用代码index.jsp:
现在让我们启动第二个Tomcat实例,然后访问http://localhost:8080/esb,输入isbn号码“123456”,提交来查看返回的Book的Title。
源代码
将源代码打包提供如下,WEB-INF/lib下面的jar包都删除了,请参考http://hideto.iteye.com/blog/59750和http://hideto.iteye.com/blog/64742来
添加jar包。
参考http://hideto.iteye.com/blog/59750和http://hideto.iteye.com/blog/64742对XFire和Mule的介绍
上面链接里描述了使用哪些jar包
参考http://hideto.iteye.com/blog/59750和http://hideto.iteye.com/blog/64742对XFire和Mule的介绍
本文例子也以上述两篇文章的例子为背景。
利用XFire发布一个Web服务BookService
在Eclipse里新建项目webservice,目录结构如下:
webservice src-service cn.hidetoishandsome.xfire.model Book.java cn.hidetoishandsome.xfire.service IBookService.java cn.hidetoishandsome.xfire.service.impl BookService.java src-conf META-INF xfire services.xml web WEB-INF lib web.xml
其中web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>xfire</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>xfire</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
以及services.xml:
<beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>BookService</name> <namespace>http://localhost:9090/webservice/services/BookService</namespace> <serviceClass>cn.hidetoishandsome.xfire.service.IBookService</serviceClass> <implementationClass>cn.hidetoishandsome.xfire.service.impl.BookService</implementationClass> </service> </beans>
我们发布BookService类的findBookByISBN方法,通过传入book的isbn返回查询到的book的title
注意services.xml中我们把BookService的namespace设置为http://localhost:9090/webservice/services/BookService,这是为了在同一机器上同时
启动两个Tomcat实例来测试我们的demo,我们将启动一个Tomcat来host我们发布的BookService,并且port设置为9090,而启动的第二个Tomcat用来
host我们的Mule ESB,以及前台页面调用测试。
好了,现在我们已经可以启动第一个Tomcat实例来发布BookService了,访问http://localhost:9090/webservice/services/BookService?wsdl可以看
到XFire自动生成的WSDL文档。
利用Mule构建我们的ESB中心
在Eclipse里创建新项目esb,目录结构如下:
esb web WEB-INF lib mule-services-config.xml web.xml index.jsp
其中web.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Mule</display-name> <description>Mule Demo</description> <context-param> <param-name>org.mule.config</param-name> <param-value>/WEB-INF/mule-services-config.xml,</param-value> </context-param> <listener> <listener-class>org.mule.config.builders.MuleXmlBuilderContextListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
以及mule-services-config.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mule-configuration PUBLIC "-//MuleSource //DTD mule-configuration XML V1.0//EN" "http://mule.mulesource.org/dtds/mule-configuration.dtd"> <mule-configuration id="Mule_Demo" version="1.0"> <mule-descriptor name="BookService" inboundEndpoint="vm://bookservice" implementation="org.mule.components.simple.BridgeComponent"> <outbound-router> <router className="org.mule.routing.outbound.OutboundPassThroughRouter"> <endpoint address="wsdl-xfire:http://localhost:9090/webservice/services/BookService?wsdl&method=findBookByISBN"/> </router> </outbound-router> </mule-descriptor> </mule-configuration>
这里我们配置了我们要调用的BookService的outbound router endpoint的address为:
wsdl-xfire:http://localhost:9090/webservice/services/BookService?wsdl&method=findBookByISBN
好了,我们的Mule ESB已经构建好了,并且我们在自己的ESB中注入了一个Web服务BookService,我们不用担心底层的实现,我们只需按照接口简单调用即可。
下面我们写前端调用代码index.jsp:
<%@ page import="org.mule.extras.client.MuleClient, org.mule.umo.UMOMessage"%> <%@ page language="java" contentType="text/html; charset=UTF-8" %> <html> <head> <title>Mule Echo Example</title> </head> <body> <% String s = request.getParameter("isbn"); if(s!=null) { MuleClient client = new MuleClient(); UMOMessage message = client.send("vm://bookservice", s, null); %> <h3>The book with isbn "<%=s%>" is : <<<%=message.getPayload()%>>></h3> <%}%> Please enter the isbn of book: <form method="POST" name="submitISBM" action=""> <table> <tr><td> <input type="text" name="isbn"/></td><td><input type="submit" name="Go" value=" Go " /> </td></tr> </table> </form> <p/> </body> </html>
现在让我们启动第二个Tomcat实例,然后访问http://localhost:8080/esb,输入isbn号码“123456”,提交来查看返回的Book的Title。
源代码
将源代码打包提供如下,WEB-INF/lib下面的jar包都删除了,请参考http://hideto.iteye.com/blog/59750和http://hideto.iteye.com/blog/64742来
添加jar包。
- mule-xfire.rar (4.2 KB)
- 下载次数: 541
评论
5 楼
yuanfu
2007-08-06
请问使用的Mule是哪个版本的?我使用1.4的。
1、发现mule的配置文件缺少<model>标签,加上后可以使用;
2、使用xfire方式发布 BrigeComponent 报异常,大致意思是UMOSecurityManager 有 java.util.List 参数,没有配置;不知hideto是否遇到过。
1、发现mule的配置文件缺少<model>标签,加上后可以使用;
2、使用xfire方式发布 BrigeComponent 报异常,大致意思是UMOSecurityManager 有 java.util.List 参数,没有配置;不知hideto是否遇到过。
4 楼
hideto
2007-07-11
引用
参考http://hideto.iteye.com/blog/59750和http://hideto.iteye.com/blog/64742对XFire和Mule的介绍
上面链接里描述了使用哪些jar包
3 楼
dionwang
2007-07-11
以上的例子部署不能运行,请楼主再仔细看看。最好能把使用的包的小version列出来。
2 楼
hideto
2007-04-08
上面的例子就可以跑起来啊
1 楼
dongshijie
2007-04-08
可否提供一个可以跑起来的例子,MULE的XML配置文件参数文档有吗?谢谢!!
发表评论
-
Ubuntu 11.10 安装Java、JIRA/Confluence/FishEye、Nginx
2012-03-01 22:26 46221. 替换Ubuntu源 编辑/etc/apt/source. ... -
Android开发WeatherForecast程序
2009-03-28 13:38 62841,使用Googel API http://www.googl ... -
Android程序开发入门
2009-03-26 14:26 30251, 安装软件 1) JDK 2) Eclipse 3) AD ... -
Spring与ThreadLocal的讨论
2007-07-31 12:27 3910Singleton是不能使用非Singleton的实例的 比如 ... -
Spring基础培训ppt
2007-07-30 19:34 6237做ppt还真是累 更新了一下ppt. -
使用Jetty和DWR创建伸缩性Comet程序
2007-07-28 21:11 7510Ajax for Java developers: Write ... -
Java代码规范
2007-07-19 01:12 3444http://java.sun.com/docs/codeco ... -
Spring JavaConfig参考文档
2007-07-14 18:37 12829Spring JavaConfig参考文档 Spring Ja ... -
Tiger in the house
2007-07-14 02:49 8278很高兴花周五晚上2个小时的时间来阅读这样一本实用的书 -- 《 ... -
深入了解Java ClassLoader、Bytecode 、ASM、cglib
2007-07-05 16:50 19439一、Java ClassLoader 1,什么是ClassL ... -
Java里判断Image文件信息格式(GIF/PNG/JPG)/Size/Height/Width?
2007-06-05 18:01 92751,判断Image格式 用UE打开GIF/PNG/JPG格式的 ... -
推荐轻量级面向服务Web开发库Objot
2007-05-27 22:17 3204Objot是我们公司Aragon Consulting Gro ... -
实战Mule:利用Mule调用XFire发布的文件上传服务
2007-03-27 15:17 5938配置Mule和XFire环境 参考前面的文章实战Mule:利用 ... -
开源ESB引擎Mule初印象
2007-03-22 18:13 10662Mule is the leading open source ... -
XFire快速上手
2007-03-14 11:53 6706下载XFrie 首先,去http://xfire.codeha ... -
学习Eclipse RCP之Hello World
2007-03-12 17:57 4249创建插件项目 打开Eclipse并选择File->New ... -
Google Web Toolkit上手指南
2007-03-12 16:07 4781目录 安装Google Web Toolkit 构建一个简单的 ... -
5分钟学习Maven2
2007-03-12 01:12 5946安装 Maven是一个Java工具,所以你必须安装Java环境 ... -
在UDDI注册中心里使用WSDL
2007-03-09 15:55 7312原文链接:http://www.oasis-open.org/ ... -
Axis2快速上手指南
2007-03-01 23:22 74349原文链接:http://ws.apache.org/axis2 ...
相关推荐
本文将基于"实战Mule:利用Mule调用XFire发布的文件上传服务"这一主题,详细阐述如何利用这两个工具实现文件上传服务的集成。 首先,我们需要理解Mule ESB的核心概念。Mule ESB提供了一个灵活且可扩展的架构,用于...
5. **配置Flow References**:在Scatter-Gather内部,为每个Web服务Outbound Endpoint创建一个单独的子流程,这样每个Web服务调用将在自己的线程中执行。 6. **收集响应**:Scatter-Gather会收集所有子流程的响应,...
本文将详细介绍如何利用Mule ESB(Enterprise Service Bus)作为代理来访问CXF发布的Web服务。 #### 建立CXF服务端 首先,我们需要构建一个CXF服务端来提供服务。下面是具体步骤: 1. **下载并安装CXF** 访问...
总结来说,"mule使用SOAP工件发布和消费web Service的简单例子"是关于利用Mule ESB创建和使用SOAP服务的一个实践教程。通过"hello-ws"示例,我们可以深入理解SOAP服务的生命周期,从定义WSDL到编写服务逻辑,再到...
- Mule: 5分 - Apache ServiceMix: 2分 - IBM Websphere ESB: 3分 2. **ESB业务流程控制、变更管理、治理和生命周期特性**: - BEA AquaLogic: 5分 - Mule: 4分 - Apache ServiceMix: 3分 - IBM Websphere ...
本文将深入探讨如何利用Mule服务总线代理Apache CXF服务源码,帮助开发者更好地理解这两种技术的结合及其在实际项目中的应用。 首先,Mule ESB是一种流行的开源ESB(企业服务总线),它允许系统间的集成和数据流...
在这个示例中,我们将深入探讨如何使用Mule来发布Web服务,这是一种允许不同系统间交换数据的有效方式。 1. **Mule基础知识** Mule 是一个开源的企业级服务总线,它支持多种协议和数据格式,如HTTP、JMS、FTP等。...
3. **预建连接器**:Mule提供了大量预建的连接器,可以轻松连接到各种外部系统,如数据库、Web服务、文件系统等。 4. **云集成**:Mule ESB支持云环境,可以与AWS、Azure、Google Cloud等主流云平台无缝集成。 5. **...
本教程将聚焦于一个"Mule学习demo",特别关注它如何处理Web服务调用以及参数转换。Web服务是软件系统通过网络进行通信的一种方式,通常采用SOAP(简单对象访问协议)或REST(Representational State Transfer)架构...
Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...
三、Mule项目发布 在Mule项目中,需要新建一个项目,例如SayHello项目。然后,在该项目下新建一个包,名称为com.mule.nick.test,在该包下新建一个类,类名为SayHello。在SayHello类中,新增一个sayHello()方法,...
3. **连接器(Connectors)**:MULE 3.3提供了丰富的预建连接器,如JDBC、HTTP、FTP、SMTP等,用于连接数据库、Web服务、文件系统等。用户需要了解如何配置和使用这些连接器,以适应各种集成场景。 4. **数据映射...
Mule in Action是一本关于Mule ESB(企业服务总线)的实战指南,旨在为读者提供深入的实践知识和案例分析。ESB作为一种流行的中间件技术,用于实现不同系统之间的服务集成。Mule作为一个开源的ESB解决方案,通过其...
4. **Web服务支持**:Mule ESB能够处理基于Axis或Glue的Web服务,支持SOAP和其他Web服务标准,允许服务间的互操作性。 5. **灵活的部署结构**:Mule ESB提供了多种部署拓扑,包括Client/Server、P2P(对等)、ESB...