ESB文档库 ESB文档库
00 概述
01 产品安装指南
02 快速入门指南
03 ESB Studio使用指南
04 企业服务总线使用指南
05 高级配置指南
06 接口服务说明
07 升级&数据迁移指南
08 FAQ
  • 创建工程
  • 创建公共Module
  • 创建HTTP Transport
  • 创建HTTP Endpoint
  • 创建HTTP业务服务
  • 创建HTTP代理服务
  • 部署运行
  • URI带参数配置模式

本节讲述了Restful协议穿透场景的创建过程,包括创建ESB工程、创建Restful协议相关的服务、并测试运行。通过本节你将了解到如下内容:

  1. 如何创建完整的Restful协议穿透场景;
  2. 如何在Studio中测试运行开发的业务逻辑;
  3. 如何通过Server运行日志查看运行结果;

本示例中通过Postman模拟一个Restful调用者,用JSON消息格式作为Restful请求的消息体。本节分为以下几个部分:

  1. 创建ESB工程
  2. 创建公共Module
  3. 创建HTTP Transport
  4. 创建HTTP Endpoint
  5. 创建HTTP业务服务
  6. 创建HTTP代理服务
  7. 部署运行
  8. URI带参数配置模式

示例如附件所示:restful_sample.zip

# 创建工程

  1. 打开ESB Studio,在资源管理器中,点击右键,选择"创建 > ESB项目"菜单项,创建工程,如下图所示。

  2. 在工程创建向导中,填写工程的基本信息,如工程名称等,这里我们创建一个名为"restful_sample"的工程,如下图所示。

  3. 单击“下一步”,设置工程的引用库,这里使用缺省设置,如下图所示。

  4. 单击“完成”,完成创建工程。创建工程后,资源管理器如下图所示。

# 创建公共Module

  1. 在资源管理器中,选中创建好的项目,鼠标右键选择“创建 > 公共Module”,创建公共Module,如下图所示。

  2. 在“公共Module”对话框中,填写Module名称等信息,如下图所示。

    公共Module相关填写项的填写规则如下。

    参数 说明
    Module名称 Module的名称。由数字、字母、下划线(_)组成。
    显示名称 Module显示名称。由数字、字母、中文、点(.)、下划线(_)组成。
    版本 由数字和点(.)组成。
  3. 单击“完成”,公共Module创建完成,如下图所示。

# 创建HTTP Transport

  1. 在创建的ESB项目的“Transport”上,右键选择“创建 > HTTP类型Transport”,如下图所示。

  2. 在弹出的“创建HTTP类型Transport”界面,选择当前的工程、Module,并输入文件名及显示名称,如下图所示。

    HTTP Transport基本配置项的填写规则如下。

    参数 说明
    选择工程 当前操作的工程。
    选择Module 当前操作的公共Module。
    文件名 文件名。由数字、字母、下划线(_)组成,必须以字母开头。
    显示名称 显示名称。由数字、字母、中文、点(.)、下划线(_)、中横线(-)组成。
    描述 对该HTTP Transport的简要描述。
  3. 单击“完成”,HTTP Transport创建完成,如下图所示。

  4. 在资源管理器中,双击创建的HTTP Transport,打开HTTP Transport编辑器,修改相关参数。如下所示。

    参数 说明
    ID HTTP Transport的唯一标识。HTTP Transport创建时自动生成。
    显示名称 HTTP Transport的显示名称。由数字、字母、中文、点(.)、下划线(_)、中横线(-)组成。当在Developer中设置为“使用显示名称”时,该Transport显示该名称。
    协议 选择http协议。
    Restful 选择是,表示启用restful方式
    端口 访问HTTP服务的端口。范围从1025到65535,可以选择int型的变量或常量。
  5. HTTP Transport配置完成后,单击工具栏中的 图标保存。

# 创建HTTP Endpoint

  1. 在创建的ESB项目的“Endpoint”上,右键选择“创建 > HTTP类型Endpoint”,如下图所示。

  2. 在弹出的“创建HTTP类型Endpoint”界面,选择当前的工程、Module,并输入文件名及显示名称,如下图所示。

    HTTP Endpoint基本配置项的填写规则如下。

    参数 说明
    选择工程 当前操作的工程。
    选择Module 当前操作的公共Module。
    文件名 文件名。由数字、字母、下划线(_)组成,必须以字母开头。
    显示名称 显示名称。由数字、字母、中文、点(.)、下划线(_)、中横线(-)组成。
    描述 对该HTTP Endpoint的简要描述。
  3. 单击“完成”,HTTP Endpoint创建完成,如下图所示。

  4. 在资源管理器中,双击创建的HTTP Endpoint,打开HTTPEndpoint编辑器,修改相关参数。如下所示。

    参数 说明
    ID HTTP Endpoint创建时自动生成,不可修改。
    显示名称 HTTP Endpoint的显示名称,由数字、字母、中文、点(.)、下划线(_)、中横线(-)组成。当在Developer中设置为"使用显示名"时,该Endpoint显示该名称。
    主机地址 HTTP Endpoint连接的服务器地址,必填。
    端口 HTTP Endpoint连接的服务器端口号,范围从1025到65535。
    协议 服务器提供的HTTP协议类型,支持http和https。

# 创建HTTP业务服务

  1. 在资源管理器中,选中创建好的项目,鼠标右键选择“创建 > 业务Module”,创建业务Module,如下图所示。

  2. 在“业务Module”对话框中,填写Module名称等信息,如下图所示。

    业务Module相关填写项的填写规则如下。

    参数 说明
    Module名称 Module的名称。由数字、字母、下划线(_)组成。
    显示名称 Module显示名称。由数字、字母、中文、点(.)、下划线(_)组成。
    版本 由数字和点(.)组成。
  3. 单击“完成”,业务Module创建完成,如下图所示。

  4. 在新建的业务Module“com.primeton.esb.restful_sample.restaurant”的“业务服务”上,鼠标右键选择“创建 > HTTP业务服务”,创建HTTP业务服务,如下图所示。

  5. 在打开的“创建HTTP业务服务”对话框中,输入类别信息,如下图所示。

  6. 单击“完成”,在打开的“HTTP业务服务”的编辑界面中,需要选择Endpoint和填写URI信息,如下图所示。

  7. 在“HTTP业务服务”的编辑界面,单击“Endpoint*”后面的“选择...”,弹出“Http Endpoint”对话框,选择之前创建的HTTP Endpoint,单击“确定”。如下图所示。

  8. 在“HTTP业务服务”的编辑界面,输入服务提供者的URI地址,例如:/query/{id}/info,单击保存,如下图所示。

    可根据需要,对请求的业务结果进行校验。

# 创建HTTP代理服务

  1. 在资源管理器中,在新建的业务Module“com.primeton.esb.restful_sample.restaurant”的“代理服务”上,鼠标右键选择“创建 > HTTP代理服务”,创建HTTP代理服务,如下图所示。

  2. 在打开的“创建HTTP代理服务”对话框中,输入类别信息,如下图所示。

  3. 单击“完成”,在打开的“HTTP代理服务”的编辑界面中,需要选择Transport和填写URI信息,如下图所示。

  4. 在“HTTP代理服务”的编辑界面,单击“Transport”后面的“选择...”,弹出“Http Transport”对话框,选择之前创建的HTTP Transport,单击“确定”。如下图所示。

  5. 在“HTTP代理服务”的编辑界面,输入URI地址,选择关联服务类型和服务名称,单击保存,如下图所示。

    说明

  • 线程池设置使用缺省配置。

# 部署运行

  1. 在资源管理器中,选中创建好的项目,鼠标右键单击“部署”,如下图所示。

  2. 部署完成后,ESB Studio将公共Module和业务Module部署Studio内置的ESB Server上,然后启动ESB Server,如下图所示。

  3. ESB Server启动时,弹出启动服务器进度窗口,如下图所示。

  4. 在ESB Studio控制台,看到“ESB Server started successfully.”日志字样,表示ESB Server启动成功,如下图所示。

  5. 启动Postman,访问APIGateway提供的Restful服务,例如:http://192.168.16.114:9090/queryinfo/1,如下图所示。

    本示例中,ESB Server的IP为192.168.16.114,ESB Server提供的restful服务端口为9090,访问服务地址为HTTP代理服务上暴露的URI地址“/queryinfo/1”,使用Postman发送HTTP请求(请求内容为Rest格式的报文)后,返回正常的结果,如上图所示。

# URI带参数配置模式

  1. 无参数 即ESB服务提供的代理URI与原业务服务URI之间不存在参数传递的模式,如下所示。** **代理服务:/product/all 业务服务:/service/product/query/all 客户端请求示例: /product/all?pagesize=10&pageindex=0 → /service/product/query/all?pagesize=10&pageindex=0

  2. 路径参数 即ESB服务提供的代理URI与原业务服务URI之间存在参数传递的模式,且参数存在于URI路径中,如下所示。 代理服务:/product/querydetail/{id} 业务服务:/service/product/query/{id}/detail 客户端请求示例: /product/querydetail/001 → /service/product/query/001/detail

  3. 查询参数 即ESB服务提供的代理URI与原业务服务URI之间存在参数传递的模式,且参数存在于查询参数中,如下所示。 代理服务:/product/querydetail 业务服务:/service/product/query/{id}/detail** **客户端请求示例: /product/querydetail?id=001 → /service/product/query/001/detail?id=001

  4. 模糊匹配

    即ESB服务提供的代理URI与原业务服务URI之间存在参数传递的模式,且参数为模糊匹配,如下所示。

    代理服务:/product/** 业务服务:/service/product/**** 客户端请求示例:

    1. /product/query/001/detail → /service/product/query/001/detail

    2. /product/query/all?pagesize=10&pageindex=0 → /service/product/query/all?pagesize=10&pageindex=0

← 3.5.2 WS穿透 3.5.4 JMS穿透 →