首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Petals ESB 开发之一 署理Web Service

2014-01-17 
Petals ESB 开发之一代理Web Service? ? ? ?今天要做的工作有如下三个:? ? ? ?1)制作一个HelloESB的Web Se

Petals ESB 开发之一 代理Web Service

? ? ? ?今天要做的工作有如下三个:

? ? ? ?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总线上的示例。

? ? ? 第一步,创建服务组件:如下图所示

? ? ?
Petals ESB 开发之一    署理Web Service
? ? ?创建信息如下:

? ??
Petals ESB 开发之一    署理Web Service
? ? ? 因为暂时无提供者和消费者,所以这里先什么也不选择,等一会儿创建。


Petals ESB 开发之一    署理Web Service

? ? ?点击完成后,会看到Service Assemblies下面有一个组件项目了,HelloAssemblies,默认打开jbi的图形配置界面。

? ? ? 科普:JBI(Java Business Integration),是Java业务集成,多指规范。它是一种企业服务总线,用于形成一种关键基础设施片段,JBI的主要目的是提供一个基于服务的平台作为对现有Java/J2EE平台功能的扩展。

? ? ?第二步 创建服务提供者。

在Service Assemblies下面的HelloAssemblies,右键创建一个提供者,如下图所示。


Petals ESB 开发之一    署理Web Service
?选择界面如下:


Petals ESB 开发之一    署理Web Service
?这个界面,要选择刚才的WSDL的文件,会自动生成接口,服务和终端。如果你的Web Service不能直接访问,需要通过代理才能访问的话,可以在结束这个配置后,通过高级配置自己定义下。


Petals ESB 开发之一    署理Web Service

保存消费者的名字如上,自动生成滴!继续Next


Petals ESB 开发之一    署理Web Service

说明一下参数:

Soap Version:Soap的协议版本支持1.1和1.2

Chunked Mode:默认是False,有些Web Seriver在Http传输头时,使用Chunked编码。一般都没有,选择False

Cleanup Transport:调用结束后,是否清除连接。默认True,这个对性能有影响 。
?点击完成,则结束提供者的编程。

?

? ? ?第三步,把提供者服务加入到服务组件当中.


Petals ESB 开发之一    署理Web Service

? 如上图所示,操作的顺序是:HelloAssembly->jbi.xml->New->select su-SOAP-HelloESB-provide->OK.

?全部保存工作空间,然后导出服务组件包。

?如下图所示:


Petals ESB 开发之一    署理Web Service
?
?得到HelloAssembly.zip包,其实,你现在这个包可以直接Petals ESB运行时的install目录,让ESB进行自动 安装,状态如下面的。
Petals ESB 开发之一    署理Web Service
?其中的LINK应该连接到他的代理Web Service服务,但是如果只有提供者,只是把Hello Web Service提供给Petals ESB来调用,在没有创建消费者时,Link是不可用的。

?

? ? 第三步,创建消费者

? ?消费者(Consume):把提供者HelloESB服务组件发布出去或者消费。方法也很简单,跟第二步当中的一样,进行一步一步操作,这里贴图出来。

? ? 先创建消费者项目,
Petals ESB 开发之一    署理Web Service
?
?配置界面如下

?
Petals ESB 开发之一    署理Web Service
?继续下一步,如下图所示:


Petals ESB 开发之一    署理Web Service
?最后一步了。点击Finish

?然后在服务组件当中,导入刚才的消费者,如下图所示:


Petals ESB 开发之一    署理Web Service
?然后保存所有项目,导出为安装部署zip文件,如下图所示。


Petals ESB 开发之一    署理Web Service

?

?

? ? ?已经完成了开发的工作,接下来就是安装和部署。得到HelloAssembly.zip包,直接放在Petals ESB运行时的install目录,让ESB进行自动 安装,完成后,你可以通过Petals WebConsole得到如下的消息。

? ? ?开放和部署已经完成,下面进行测试。

? ? ?测试服务

? ? 检查安装是否成功,如下标识表示已经成功!

?
Petals ESB 开发之一    署理Web Service
? ? ? ? ? ? 接着检查服务:

? ? ? ? ? ??
Petals ESB 开发之一    署理Web Service
?

? ? ? ? 其中这个服务默认的放在http://localhost:8084/petals/services/HelloESBPortType?wsdl.你可以通过SoapUI来进行测试,测试结果如下:


Petals ESB 开发之一    署理Web Service
?

?

? ? ? 呵呵。全文完成。

? ? ??

?导读:

  1. ?Petals ESB 简介?
  2. Petals ESB 安装部署
  3. Petals ESB 开发之一 代理Web Service?
  4. Petals ESB 开发之二 ? ?协议转换Petals ESB 开发之三 ? ?服务消息转换

热点排行