全部产品

调用服务

更新时间:2017-06-07 13:26:11   分享:   

API消费方应用调用API有多种方式,例如HTTP API、HSF API、Web Service API等。其中HSF API的消费调用沿用HSF原有的服务调用方式,无需任何专用SDK,如有必要可以指定CSB的服务IP进行HSF服务调用。而调用HTTP API则需要使用CSB Client SDK,目前提供了Java版本的HTTP Client SDK。

HTTP Client SDK 方法概要(Java)

服务调用-HTTP Client SDK概要

注意,阿里云公共云上不建议使用不包含版本信息参数的调用方法(doGet/doPost)。

HTTP Client SDK 示例代码(Java)

  1. import com.alibaba.csb.sdk.HttpCaller;
  2. import com.alibaba.csb.sdk.HttpCallerException;
  3. ...
  4. Map<String,String> params = new HashMap<String,String>();
  5. Object smd = ... // 一个具体的复杂对象
  6. if (smd != null) {
  7. String data = JSON.toJSONString(smd); // 转换为JSON String
  8. params.put("data", data);
  9. }
  10. params.put("name", "abcd"); // 普通的串对象
  11. params.put("password", "abcd"); // 普通的串对象
  12. String requestURL = "http://gateway.abc.com:8081/test";
  13. String API_NAME = "login_system";
  14. String ak = "xxxxxx";
  15. String sk = "xxxxxx"; // 用户安全校验的签名密钥对
  16. try {
  17. String result = HttpCaller.doPost(requestURL, API_NAME, params, ak, sk);
  18. if (result != null) {
  19. // 返回结果处理, 如转换为JSON对象
  20. ...
  21. }
  22. } catch (HttpCallerException ie) {
  23. // 调用异常处理
  24. ...
  25. }

返回值约定

返回值为JSON格式字符串,CSB正常处理返回形式如下:

  1. {
  2. "RequestId": "4F165030-1380-045E-830C-BDF411779423",
  3. /* 以下为服务API的返回结果数据 */
  4. ...
  5. }

CSB处理异常时返回形式如下所示,除了唯一请求ID外,还有所访问的CSB实例名,CSB错误编码及错误信息。

  1. {
  2. "RequestId": "4F165030-1380-045E-830C-BDF411779423",
  3. "CSBId": "9306vpc07",
  4. "Code": "AccessUnauthorized",
  5. "Message": "Access to the specified API is not authorized."
  6. }
本文导读目录
本文导读目录
以上内容是否对您有帮助?