以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  远程服务器返回错误:500  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180956)

--  作者:otterlike
--  发布时间:2022/10/20 10:11:00
--  远程服务器返回错误:500
老师好!我在做一个调用阿里云CSB服务的测试


此主题相关图片如下:图片1.png
按此在新窗口浏览图片
首先用
命令行验证CSB服务连通有效性,返回结果retStr after changeCharset = true,说明线路是通的

此主题相关图片如下:图片2.png
按此在新窗口浏览图片

接着我用代码调用
阿里云CSB服务,提示:远程服务器返回错误: (500) 内部服务器错误,请问老师问题出在哪里?谢谢
我写的代码如下:

Dim url As String = "http://10.72.231.22:8086/scm/checkHealth" \'api应用程序编程接口名称

Dim apiName As String = "TEST_SCM_HNXS_checkHealth" \'api应用程序编程接口名称

Dim apiVersion As String = "1.0.0" \'版本

Dim ak As String = "Z9SDJaqGJ9G/dobrE/N/MUDzuxA=" \'accessKey访问密钥

Dim sk As String = "bea1e13851cb4b5d95a42f059ed6ddbf" \' secret Key 密钥


Dim hc As New HttpClient(url) 

hc.Method = "POST" \'设置调用方式, 必须为 post

hc.C \'业务数据封装成json格式包含在POST请求的请求体中


Dim jo As New JObject \'在JObject中提交参数

jo("_api_name") = apiName

jo("_api_version") = apiVersion

jo("_api_access_key") = ak

jo("_api_secret_key") = sk

hc.Content = jo.ToString

Output.Show(jo.ToString)


Dim ret As String = hc.GetData \'接收反馈数据

Output.Show(ret)




--  作者:有点蓝
--  发布时间:2022/10/20 10:22:00
--  
接口文档地址发上来看看
--  作者:otterlike
--  发布时间:2022/10/20 10:29:00
--  

http://10.72.231.22:8086/scm/checkHealth


--  作者:有点蓝
--  发布时间:2022/10/20 10:32:00
--  
接口的开发说明文档地址发上来看看
--  作者:otterlike
--  发布时间:2022/10/20 17:45:00
--  
开发说明文档地址:https://help.aliyun.com/apsara/enterprise.html,我找到了2种调用方式,请老师参考!

此主题相关图片如下:微信截图_20221020173929.png
按此在新窗口浏览图片

使用代码调用服务 REST > RESTful

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") // 设置调用方式, getpost

            .accessKey("ak").secretKey("sk"); // 设置AccessKey IDAccessKey Secret

 

    // 设置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();

    }

}        


使用标准RESTful方式调用的实例如下。

public void testHttp2SpringCloud() {

    HttpParameters.Builder builder = new HttpParameters.Builder();

    builder.requestURL("http://xx.xxx.xxx.xxx:8086/1.0.0/http2sc1/postFoo/abc")

            .api("http2sc1") // 实例名称。

            .version("1.0.0") // 服务版本。

            .method("post") // 设置调用方式, getpost

            .accessKey("AK").secretKey("SK"); // 设置AccessKey IDAccessKey Secret

 

    // 设置HTTP FORM表单请求参数。

    builder.putParamsMap("name", "name1").putParamsMap("value", "123");

    try {

        String ret = HttpCaller.invoke(builder.build());

    } catch (HttpCallerException e) {

        e.printStackTrace();

    }

}            


--  作者:有点蓝
--  发布时间:2022/10/20 20:29:00
--  
基本是java的东西,看不懂。咨询客服要.net的连接实例
--  作者:otterlike
--  发布时间:2022/10/21 9:27:00
--  
老师好!我拿到一个.net调用阿里云Api的实例,然后用代码转换软件转换成了VB,见附件。我看了下,很复杂,没看懂,能帮看看我写的代码错在哪里吗?谢谢

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:.net调用csb.txt

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:vb调用csb.txt


我写得代码如下:

Dim url As String = "http://10.72.231.22:8086/scm/checkHealth" \'api应用程序编程接口名称

Dim apiName As String = "TEST_SCM_HNXS_checkHealth" \'api应用程序编程接口名称

Dim apiVersion As String = "1.0.0" \'版本

Dim ak As String = "Z9SDJaqGJ9G/dobrE/N/MUDzuxA=" \'accessKey访问密钥

Dim sk As String = "bea1e13851cb4b5d95a42f059ed6ddbf" \' secret Key 密钥


Dim hc As New HttpClient(url) 

hc.Method = "POST" \'设置调用方式, 必须为 post

hc.C \'业务数据封装成json格式包含在POST请求的请求体中


Dim jo As New JObject \'在JObject中提交参数

jo("_api_name") = apiName

jo("_api_version") = apiVersion

jo("_api_access_key") = ak

jo("_api_secret_key") = sk

hc.Content = jo.ToString

Output.Show(jo.ToString)


Dim ret As String = hc.GetData \'接收反馈数据

Output.Show(ret)



--  作者:有点蓝
--  发布时间:2022/10/21 9:36:00
--  
scm/checkHealth这个接口的接口开发文档地址是哪个?找到发过看看
--  作者:otterlike
--  发布时间:2022/10/21 11:22:00
--  
开发说明文档地址:https://help.aliyun.com/apsara/enterprise.html
这里面的接口示例是JAVA的

使用代码调用服务 REST > RESTful

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") // 设置调用方式, getpost

            .accessKey("ak").secretKey("sk"); // 设置AccessKey IDAccessKey Secret

 

    // 设置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();

    }

}        


--  作者:有点蓝
--  发布时间:2022/10/21 11:42:00
--  
太多东西了没有时间一个个去翻,麻烦找到scm/checkHealth这个接口的地址发上来