0
点赞
收藏
分享

微信扫一扫

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


1.概述

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

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

2.样例

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

    ​​

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

​​

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

 ​​

AEAI ESB-基于ESB的Web服务开发_右键_02

​​

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

 ​​

AEAI ESB-基于ESB的Web服务开发_右键_03

​​

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

 ​​

AEAI ESB-基于ESB的Web服务开发_右键_04

​​





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

 ​​

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

​​

  • 编写“输出文字”内代码



packagecom.aeai.demo.messageflows.helloworldsayhello;

 

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

importcom.agileai.esb.core.AdapteException;

import

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

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

 

public classJavaInvoker3 extends

       

publicSayHello getRequest(){

this.getMessageFlow().getRequest();

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

        }

       

publicSayHelloResponse getResponse(){

this.getMessageFlow().getResponse();

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

        }

       

publicvoid invoke() throws

                 String words =getRequest().getWords();

"Say: "

        }

}

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

    ​​

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

​​

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

      ​​

AEAI ESB-基于ESB的Web服务开发_中间件_07

​​

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

     ​​

AEAI ESB-基于ESB的Web服务开发_中间件_08

​​

  • 执行Web服务选择project中的sayHello操作,解析出SOAP信封内容,参数words填写“你好!”,点击执行​​

    AEAI ESB-基于ESB的Web服务开发_右键_09

    ​​按钮,右侧返回Web服务返回值。

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

举报

相关推荐

0 条评论