AEAI ESB-基于ESB的Web服务开发


1.概述

Web服务是ESB中间件的常见解决方案,它使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。

AEAIESB提供了非常便捷的服务创建方式,本文档主要为读者介绍如何使用ESB来创建一个简单的Web服务接口。

2.样例

  • 创建webservice服务 WS目录右键,点击“创建web服务,如下图:

    


  • 配置web服务向导 服务名称填写“HelloWorld”,点击Finish

 

  • 服务设计 右键点击“添加操作,操作名称填写“sayHello”,入参名称修改为words,在操作名称处右键点击“绑定流程,选择快速上手文件夹。Ctrl + S保存服务配置。

 

  • 初始化Web服务 右键HelloWorld服务名称,点击“初始化Web服务

 

  • 流程设计 在快速上手文件夹中可以找到绑定的消息流程,流程设计如下图所示:

 

  • 编写“输出文字内代码

 

packagecom.aeai.demo.messageflows.helloworldsayhello;

 

importcom.agileai.esb.component.invoker.InvokerService;

importcom.agileai.esb.core.AdapteException;

import com.agileai.esb.core.AttributeMap;

importcom.aeai.demo.services.helloworld.SayHello;

importcom.aeai.demo.services.helloworld.SayHelloResponse;

 

public classJavaInvoker3 extends InvokerService{

       

        publicSayHello getRequest(){

                 AttributeMap sourceReq =(AttributeMap)this.getMessageFlow().getRequest();

                 return(SayHello)sourceReq.get("soapReqObject");

        }

       

        publicSayHelloResponse getResponse(){

                 AttributeMap sourceRsp =(AttributeMap)this.getMessageFlow().getResponse();

                 return(SayHelloResponse)sourceRsp.get("soapRspObject");

        }

       

        publicvoid invoke() throws AdapteException{

                 String words =getRequest().getWords();

                 getResponse().setReturn("Say: " + words);

        }

}

  • 部署消息流程 右键服务名称,点击“部署Web服务

 

  • 测试Web服务 我们这里使用soapUI工具来测试webservice,启动soapUI,界面如下所示:

 

  • 配置soapUI 新建soapUI  project,将web服务地址粘贴到弹出框的InitialWSDL/WADL框中,点击“OK”完成。

 

  • 执行Web服务 选择project中的sayHello操作,解析出SOAP信封内容,参数words填写“你好!,点击执行按钮,右侧返回Web服务返回值。


   

    AEAI ESB-基于ESB的Web服务开发文档   下载

本文出自 “数通畅联门户集成平台” 博客,请务必保留此出处http://aeaiportal.blog.51cto.com/9300497/1567590

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。