今天要做的工作有如下三个:
1)制作一个HelloESB的Web Serivce并且发布在中间件服务器上(Tomcat)。
2)提供者(provide):把HelloESB发布在 Petals ESB总线上。
3) 消费者(Consume):把提供者HelloESB服务组件发布出去或者消费。
测试服务
一、制作HelloESB 的Web Serivce.
简单的使用XFire制作了一个Hello的Web Service,后附代码,核心代码先贴出来,以便看客了解工作思路。
接口类IHelloESB.java:
/** * Hello Web Service 的接口类 * @author Dukati * */ public interface IHelloESB { /** * 喂!跟大家打个招呼! * @param message 你的信息 * @return */ public String hello(String message); }
实现类HelloESBImpl.java:
/** * Hello Web Service的实现类 * * @author Dukati * */ public class HelloESBImpl implements IHelloESB { public String hello(String message) { return "Hello " + message + ",I am here."; } }
这里WAR包可以在附件Hello.war当中下载,把你的Web Service发布在Tomcat服务器上。
本人发布完成的地址是:http://localhost:8090/Hello/services/HelloESB?wsdl,你可以把这个WSDL另存为HelloESB.wsdl,保存后是一个XML文件,不能是一个HTML的网页文件。
不保存为HelloESB.wsdl也可以,只是使用Petals studio时自动导入在Windows环境下,HelloESB.wsdl多出一些空格之类的东东,不好解决。
如果你是一个懒人,你也可以直接下载HelloESB.rar,修改一个具体地址就可以。
二,提供者(provide)
这次要借助于Petals Studio来完成,这种使用方法有点像IBM的ESB,Oracle的ESB可以通过网页配置的方法直接完成提供者和消费者的任务。如下的示例把HelloESB发布在 Petals ESB总线上的示例。
第一步,创建服务组件:如下图所示
因为暂时无提供者和消费者,所以这里先什么也不选择,等一会儿创建。
点击完成后,会看到Service Assemblies下面有一个组件项目了,HelloAssemblies,默认打开jbi的图形配置界面。
科普:JBI(Java Business Integration),是Java业务集成,多指规范。它是一种企业服务总线,用于形成一种关键基础设施片段,JBI的主要目的是提供一个基于服务的平台作为对现有Java/J2EE平台功能的扩展。
第二步 创建服务提供者。
在Service Assemblies下面的HelloAssemblies,右键创建一个提供者,如下图所示。
这个界面,要选择刚才的WSDL的文件,会自动生成接口,服务和终端。如果你的Web Service不能直接访问,需要通过代理才能访问的话,可以在结束这个配置后,通过高级配置自己定义下。
保存消费者的名字如上,自动生成滴!继续Next
说明一下参数:
Soap Version:Soap的协议版本支持1.1和1.2
Chunked Mode:默认是False,有些Web Seriver在Http传输头时,使用Chunked编码。一般都没有,选择False
Cleanup Transport:调用结束后,是否清除连接。默认True,这个对性能有影响 。
点击完成,则结束提供者的编程。
第三步,把提供者服务加入到服务组件当中.
如上图所示,操作的顺序是:HelloAssembly->jbi.xml->New->select su-SOAP-HelloESB-provide->OK.
全部保存工作空间,然后导出服务组件包。
如下图所示:
得到HelloAssembly.zip包,其实,你现在这个包可以直接Petals ESB运行时的install目录,让ESB进行自动 安装,状态如下面的。
其中的LINK应该连接到他的代理Web Service服务,但是如果只有提供者,只是把Hello Web Service提供给Petals ESB来调用,在没有创建消费者时,Link是不可用的。
第三步,创建消费者
消费者(Consume):把提供者HelloESB服务组件发布出去或者消费。方法也很简单,跟第二步当中的一样,进行一步一步操作,这里贴图出来。
然后在服务组件当中,导入刚才的消费者,如下图所示:
已经完成了开发的工作,接下来就是安装和部署。得到HelloAssembly.zip包,直接放在Petals ESB运行时的install目录,让ESB进行自动 安装,完成后,你可以通过Petals WebConsole得到如下的消息。
开放和部署已经完成,下面进行测试。
测试服务
检查安装是否成功,如下标识表示已经成功!
其中这个服务默认的放在http://localhost:8084/petals/services/HelloESBPortType?wsdl.你可以通过SoapUI来进行测试,测试结果如下:
呵呵。全文完成。
导读: