当前位置:文档之家› wso2 API Manager 使用示例V1.0

wso2 API Manager 使用示例V1.0

wso2 API Manager 使用示例

基础平台组

2015年08月

目录

前言 (1)

1.1修订历史 (1)

1.2用户范围 (1)

1.3参考 (1)

第1章概述 (2)

1.1背景 (2)

第2章使用示例 (3)

2.1将SOAP W EBSERVICE 注册为REST API-1 (3)

2.1.1 部署示例Webservice (3)

2.1.2 创建并调用API (4)

2.2将SOAP W EBSERVICE 注册为REST API-2 (14)

2.2.1 准备Webservice (14)

2.2.2 创建并调用API (15)

2.2.3 总结 (23)

2.3使用API M ANAGER +ESB配置高级中介-3 (27)

2.3.1 在ESB 上创建API (27)

2.3.2 在API Manager 的Publisher 中创建API (29)

2.3.3 在API Manager 的Store 中调用API (33)

2.4使用API M ANAGER 管理W EB S ERVICE (36)

2.4.1 准备Webservice (36)

2.4.2 创建API (36)

2.4.3 调用API (39)

前言

1.1修订历史

状态标识:C –Created A- Added M - Modified D - Deleted

1.2用户范围

本文记录了一些使用wso2 API Manager 的典型示例,适合需要了解、使用wso2 API Manager的用户阅读。

1.3参考

●SOAP web service as REST API using WSO2 API Manager -1:

https://www.doczj.com/doc/1b10320548.html,/2015/01/soap-web-service-as-rest-api-using-wso2.html

●SOAP webservice as a REST API - WSO2 API Manager (1.9) -2:

https://www.doczj.com/doc/1b10320548.html,/2015/08/soap-webservice-as-rest-api-wso2-api.html

●Advance Mediation with WSO2 API Manager(1.9) + WSO2 ESB -3 :

https://www.doczj.com/doc/1b10320548.html,/2015/08/advance-mediation-with-wso2-api-manager.html

第1章概述

1.1背景

本文记录了一些使用wso2 API Manager 的典型示例,在类似场景中使用wso2 API Manager的参考。

第2章使用示例

2.1将SOAP Webservice 注册为REST API - 1

2.1.1部署示例Webservice

打开wso2as-5.2.1/repository/conf 目录下的carbon.xml文件,设置offset 元素的值为1,然后启动服务器。

打开AS的管理控制台(https://[host or IP]:9444/carbon/)页面并登录(admin/admin),使用aar文件部署向导部署SimpleStockQuoteService.aar文件(SimpleStockQuoteService.aar是ESB上的演示程序,可在ESB的目录下找到:wso2esb-4.8.1\samples\axis2Server\repository\services)。

几秒钟之后,刷新Services菜单下的List菜单,可以看到“SimpleStockQuoteService”服务出现在了右边的服务列表中。如下图所示:

单击“SimpleStockQuoteService”的名字,就可以看到此服务的WSDL路径(1)和端点(2),以及一些其他特性。如下图所示:

使用SOAP UI调用一些操作,验证此服务可用。本例调用“getQuote”操作,如下图所示。

2.1.2创建并调用API

本例将使用API Manager暴露“getQuote”操作,如下所示:

GET : http://:/stockquote/1.0.0/getquote?name=IBM

2.1.2.1编写中介序列

可以使用WSO2 Developer Studio在图形化界面创建输入序列,也可以直接写XML。

打开WSO2 Developer Studio,File --> New project ---> Other,然后选择“ESB Config Project”,再选择“New ESB Config Project”,名称为“ESBConfigProject”。然后创建序列(Sequence),输入序列将输入参数转换成SOAP请求。如下图所示:

切换到“source”视图即是xml,编写好的xml如下所示:

xmlns:soapenv="https://www.doczj.com/doc/1b10320548.html,/soap/envelope/"

xmlns:xsd="http://services.samples/xsd" xmlns:ser="http://services.samples">

$1

再创建输出序列。将响应消息转换成JSON。

切换到“source”视图即是xml,编写好的xml如下所示:

在developer studio中创建新的复合应用(composite application)项目来构件一个carbon归档文件(在创建过程中选择“ESBConfigProject”)。

使用右上角的按钮导出.car文件(ESBCARApp_1.0.0.car)。

在API Manager的管理控制台创建一个新的服务器角色,名称为“EnterpriseServiceBus”,用于在API Manager上部署ESB car 文件。如下图所示:

在wso2am-1.9.0/repository/deployment/server/ 目录下创建新的部署目录,命名为“carbonapps”。

拷贝ESBCARApp_1.0.0.car 文件到wso2am-1.9.0/repository/deployment/server/carbonapps 目录下,此car文件将会在API Manager中部署以上创建的两个序列。

2.1.2.4在API Manager 的Publisher 中发布API

在Publisher中创建API。

Name : StockQuoteAPI

Context : stockquote

Version : 1.0.0

Resource method : getquote

Query parameter : name

如下图所示:

选择端点类型为“Address Endpoint ”

(http://localhost:9764/services/SimpleStockQuoteService/)。

单击“Advance Options”按钮,在弹出的对话框中选择消息格式为“SOAP 1.1”。

进入“Manage”向导,选择节流等级,保存并发布。

2.1.2.5在API Manager 的Store 中调用API

进入Store,使用一个应用订阅API并生成访问令牌。如下图所示:

在Store的API Console中调用API。如下图所示:

在SOAP UI中调用API,如下图所示:

SOAPAction 才能成功调用。如下图所示:

2.2将SOAP Webservice 注册为REST API - 2

2.2.1准备Webservice

本节使用公开的weather服务作为Webservice 的真实后端。地址如下:

https://www.doczj.com/doc/1b10320548.html,/globalweather.asmx

此SOAP 服务有一个名称为“GetCitiesByCountry”的操作,可以使用SOAP UI 直接访问,结果如下图所示:

2.2.2创建并调用API

在API Manager上创建API,暴露此服务操作为REST 操作。

例如:暴露GetCitiesByCountry 的POST 方法为如下:

https://localhost:8243/weather/v1.0.0/GetCitiesByCountry

则请求负载为:

{"request":{"country":"Romania"}}

2.2.2.1编写输入序列

编写输入中介序列,从请求消息中读取“country”,并转化为后端服务期望的SOAP 负载(本例将此文件保存为JSONtoSOAP.xml)。登录到Carbon管理控制台,将JSONtoSOAP.xml 文件在registry中上传到/_system/governance/apimgt/customsequences/in 下面。

xmlns:soapenv="https://www.doczj.com/doc/1b10320548.html,/soap/envelope/"

xmlns:web="https://www.doczj.com/doc/1b10320548.html,">

$1

2.2.2.2编写输出序列

编写输出中介序列将SOAP响应消息换成JSON(本例将把此文件保存为SOAPtoJSON.xml)。登录到Carbon管理控制台,将SOAPtoJSON.xml 文件在registry 中上传到/_system/governance/apimgt/customsequences/out 下面。

登录到Publisher创建API,如下图所示。

然后定义端点值为:https://www.doczj.com/doc/1b10320548.html,/globalweather.asmx 。

相关主题
文本预览
相关文档 最新文档