感谢原文作者:jiang zhonghe([email protected])Cordys Rest Over Http Service
Cordys Rest Over Http Service是一个基于HttpClient的REST服务连接器,主要在Cordys平台上提供集成和调用REST接口服务的处理功能。
1.CAP安装配置
①:root用户登陆,在System组织下通过Application Deployer上传和部署CordysRestOverHttpService 1.1.0.cap包
②:将HttpConnector角色分配给指定用户,使指定用户可以有权限调用CAP包中的RestOverHttp Service功能
2. 引用Cordys RestOverHttp Service
①:在Cordys项目工程中引入CAP包中的Cordys RestOverHttp Service,如下图示:
②:创建Service Group
配置WS-AppServer Service Container,并将引入的RestOverHttpService.RestOverHttpServiceInterface绑定到已创建的Service Group上。
在WS-AppServer JRE Configuration中需要配置/<Cordys install dir>/JavaArchive/目录下的jar包:
commons-beanutils-1.8.3.jar
commons-codec-1.6.jar
commons-lang3-3.1.jar
commons-collections-3.2.1.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
fluent-hc-4.2.2.jar
httpclient-4.2.2.jar
httpclient-cache-4.2.2.jar
httpcore-4.2.2.jar
httpmime-4.2.2.jar
json-lib-2.4-jdk15.jar
xom-1.1.jar
RestOverHttpPackage.jar
③:Cordys RestOverHttp Service API 描述
方法 |
参数 |
功能 |
---|---|---|
HttpGetRequest |
String url |
通过HTTP GET方法发送访问请求 |
HttpPostRequest |
String url |
通过HTTP POST方法发送访问请求(注:同上) |
ConvertXmlToNom |
String xml |
将XML字符串数据转换为Cordys NOM(Native Object Model)对象 |
ConvertJsonToXml |
String json |
将JSON格式的字符串数据转换为XML(NOM对象) |
TestImageHttpRequest |
String url |
请求访问图片数据(注:此方法不适用于Java程序中调用和BPM中编排接口服务使用, |
TestImageWriteToTmpDir |
String base64EncStr |
将经过Base64加码的二进制图片数据字符串解码后写到java.io.tmpdir的磁盘目录中并生成图片文件 |
3.业务接口定制
根据具体业务接口需求,可以进一步通过BPM工具封装具体业务接口的输入参数和返回参数,便于在Cordys平台上进行业务功能的开发和调用。
下面是通过BPM进行业务接口定制封装的流程图示:
4.注意事项
①:当使用请求图片的API时,建议在CMC中设置com.eibus.web.gateway.timeout,并将超时时间设长一些例如:300000毫秒,设置完成后重启服务,最好将WebServer也一并重启。
②:在使用Cordys Test Web Service Operation工具测试WebService时XML数据内容中的特殊符号是需要转义的,而在BPM中传递XML数据时特殊符号是不需要转义的,因为BPM中流转的XML数据实际上是在后台程序中执行的,所以不需要转义。
③:在Cordys BOP4平台上,由于Web Service是绑定到Service Group上而不是绑定到具体Service Container上的,所以请不要将WS-AppServer Service Container和Business Process Management Service Container配置到一同个Service Group中,以避免Web Service调用过程中产生不必要的问题。
5.下载地址
CAP包下载:CordysRestOverHttpService 1.1.0.cap
视频下载:RestOverHttpService.wrf
6.测试资源
国家气象局提供免费开放的天气预报REST接口,返回JSON格式数据,以下是REST接口地址:
北京http://www.weather.com.cn/data/sk/101010100.html
上海http://www.weather.com.cn/data/sk/101020100.html
广州http://www.weather.com.cn/data/sk/101280101.html
请问2个问题:
1. 这是自定义的连接器吧,是否需要安装CAP后在所需要的租户中创建此类型的Service Group啊?
2. 引入runtime的web service后,为啥将其interface添加到ws-appserver的Service group上呢?而不是自定义的连接器service group
1.安装CAP包后是需要在租户(organization)中创建一个自定义的Service Group,并在创建Service Group时需要配置WS-AppServer类型的Service Container
2.引入的Web Service是需要绑定到上面(1.)中提到的配置,即将Web Service Interface绑定到自定义的Service Group(WS-AppServer类型的Service Container)上