您可以通过 CSB SDK 使用命令行和代码调用订阅的服务。

前提条件

已订阅服务,详情请参见订阅服务

准备工作

在调用服务前,请确保您已经完成以下工作:

  • 订阅服务
  • 下载 CSB 官方版本的Java SDK

    SDK 使用说明参见 Github 的 Readme

  • 获取 CSB 上发布的服务的访问地址。

    • 共享实例的服务地址请参见共享实例名称和服务访问地址
    • 专享实例的服务地址格式为http://CSB服务地址:8086/CSB
      说明 CSB 服务地址即创建该实例时绑定的 SLB 的地址。

      CSB服务地址的获取方式如下:

      1. 使用创建该实例的账号登录 EDAS 控制台
      2. 在左侧导航栏选择组件中心 > 云服务总线
      3. 云服务总线左侧导航栏单击实例管理
      4. 实例管理页面实例的 SLB地址列中获取。实例列表

使用命令行调用服务

命令行方式通常用于快速测试、验证 CSB 服务的连通有效性。

简易版本 CSB SDK 命令行调用格式如下:

java -jar http-client-1.1.5.7.jar post "http://CSB服务地址:8086/CSB?HTTP参数kv值" "CSB服务名" "CSB服务版本号"    "访问凭证ak" "访问凭证sk"
说明 CSB 服务地址即创建该实例时绑定的 SLB 的地址。

调用三个不同类型后端服务的命令行结果如下所示。

  • REST > REST

    命令行调用结果-REST-REST
  • REST > Dubbo

    命令行调用结果-Dubbo
  • REST > HSF

    命令行调用结果-HSF

使用代码调用服务

因为服务开放的类型都是 REST,所以调用三个不同类型后端服务的示例代码几乎相同,只是参数有所变化。

  • REST > REST

    public void testHttp2Http() {
        HttpParameters.Builder builder = new HttpParameters.Builder();
        builder.requestURL("http://CSB服务地址:8086/CSB") // 设置请求的URL。其中,CSB服务地址即创建该实例时绑定的SLB的地址。
                .api("http2http1") // 设置服务名
                .version("1.0.0") // 设置版本号
                .method("post") // 设置调用方式, get/post
                .accessKey("ak值").secretKey("sk值"); // 设置accessKey和secretKey
    
        // 设置HTTP FORM表单请求参数
        builder.putParamsMap("times", "12").putParamsMap("name", "name1");
        try {
            String ret = HttpCaller.invoke(builder.build());
            System.out.println("------- ret=" + ret);
        } catch (HttpCallerException e) {
            e.printStackTrace();
        }
    }                    
  • REST > Dubbo

    public void testHttp2Dubbo() {
        HttpParameters.Builder builder = new HttpParameters.Builder();
        builder.requestURL("http://CSB服务地址:8086/CSB") // 设置请求的URL。其中,CSB服务地址即创建该实例时绑定的SLB的地址。
                .api("http2dubbo1") // 设置服务名
                .version("1.0.0") // 设置版本号
                .method("post") // 设置调用方式, get/post
                .accessKey("ak值").secretKey("sk值"); // 设置accessKey和secretKey
    
        builder.putParamsMap("str", "strValue1");
        try {
            String ret = HttpCaller.invoke(builder.build());
            System.out.println("------- ret=" + ret);
        } catch (HttpCallerException e) {
            e.printStackTrace();
        }
    }                    
  • REST > HSF

    public void testHttp2Hsf() {
        HttpParameters.Builder builder = new HttpParameters.Builder();
        builder.requestURL("http://CSB服务地址:8086/CSB") // 设置请求的URL。其中,CSB服务地址即创建该实例时绑定的SLB的地址。
                .api("http2hsf1") // 设置服务名
                .version("1.0.0") // 设置版本号
                .method("post") // 设置调用方式, get/post
                .accessKey("ak值").secretKey("sk值"); // 设置accessKey和secretKey
    
        builder.putParamsMap("str", "strValue1");
        try {
            String ret = HttpCaller.invoke(builder.build());
            System.out.println("------- ret=" + ret);
        } catch (HttpCallerException e) {
            e.printStackTrace();
        }
    }