Foxtable(狐表)用户栏目专家坐堂 → JAVA代码转VB代码


  共有7014人关注过本帖树形打印复制链接

主题:JAVA代码转VB代码

帅哥哟,离线,有人找我吗?
otterlike
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
JAVA代码转VB代码  发帖心情 Post By:2022/10/17 15:32:00 [显示全部帖子]

各位老师好!我在一个接口,对方要求:

//ContentBody传递,要求使用post方式进行调用

//如果需要传递请求参数 可以拼接到请求URL中,或者设置paramsMap参数由SDK内部进行拼接


我写得的代码如下:


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

Dim version 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("http://10.72.231.22:8086/lis/querysites") '如果需要传递请求参数 可以拼接到请求URL中

 

hc.Headers.Add("apiName", apiName)

hc.Headers.Add("version", version)

hc.Headers.Add("ak", ak)

hc.Headers.Add("sk", sk)

 

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

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

 

Dim jo As New JObject

jo("orderNo") = "TO20220926000004"

jo("pageNo") = 1

jo("pageSize") = 2000

hc.Content = jo.tostring

Output.Show(jo.ToString)

 

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

Output.Show(ret)

 

执行结果提示:

.NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件: 详细错误信息: 远程服务器返回错误: (500) 内部服务器错误。

 

请老师帮忙看看问题出在哪儿?感激不尽!

 







[此贴子已经被作者于2022/10/17 15:48:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 15:36:00 [显示全部帖子]

请老师帮忙看看问题出在哪儿?感激不尽!

 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 15:52:00 [显示全部帖子]

  //构造ContentBody对象

        Map<String,Object> params = new HashMap<String, Object>();

        params.put("orderNo", "");

        ContentBody cb = new ContentBody(String.valueOf(new JSONObject(params)));

        //ContentBody传递,要求使用post方式进行调用

        //如果需要传递请求参数 可以拼接到请求URL中,或者设置paramsMap参数由SDK内部进行拼接

        HttpParameters.Builder builder = HttpParameters.newBuilder();

        builder.requestURL(url) // 设置请求的URL,可以拼接URL请求参数

                .api(apiName) // 设置服务名

                .version(version) // 设置版本号

                .method("post") // 设置调用方式, 必须为 post

                .accessKey(ak).secretKey(sk); // 设置accessKey 和 设置secretKey

        builder.contentBody(cb);


 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 15:52:00 [显示全部帖子]


[此贴子已经被作者于2022/10/17 15:58:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 15:52:00 [显示全部帖子]


[此贴子已经被作者于2022/10/17 15:59:11编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 15:57:00 [显示全部帖子]

对方提供的JAVA代码:
public class TestCsbDemo {
private static final String url = "http://10.72.231.22:8086/lis/querysites";
private static final String apiName = "TEST_SCM_CMS_querySitesService";
private static final String version = "1.0.0";
private static final String ak = "Z9SDJaqGJ9G/dobrE/N/MUDzuxA=";
private static final String sk = "bea1e13851cb4b5d95a42f059ed6ddbf";
public static void main(String[] args) {
//构造ContentBody对象
Map<String,Object> params = new HashMap<String, Object>();
params.put("pageNo",1);
params.put("pageSize",2000);
ContentBody cb = new ContentBody(String.valueOf(new JSONObject(params)));
//ContentBody传递,要求使用post方式进行调用

//如果需要传递请求参数 可以拼接到请求URL中,或者设置paramsMap参数由SDK内部进行拼接
HttpParameters.Builder builder = HttpParameters.newBuilder();
builder.requestURL(url) // 设置请求的URL,可以拼接URL请求参数
.api(apiName) // 设置服务名
.version(version) // 设置版本号
.method("post") // 设置调用方式, 必须为 post
.accessKey(ak).secretKey(sk); // 设置accessKey 和 设置secretKey
builder.contentBody(cb);

//进行调用,返回结果
String result=new String();
try {
result = HttpCaller.invoke(builder.build());
} catch (HttpCallerException e) {
System.out.println(e);
}
System.out.println(result);
}
}

 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 15:59:00 [显示全部帖子]

这是我写得代码:

Dim apiName As String = "TEST_SCM_CMS_querySitesService" 'api应用程序编程接口名称
Dim version 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("http://10.72.231.22:8086/lis/querysites") '如果需要传递请求参数 可以拼接到请求URL中

hc.Headers.Add("apiName", apiName) '增加头数据
hc.Headers.Add("version", version) 
hc.Headers.Add("ak", ak) 
hc.Headers.Add("sk", sk) 

hc.C '业务数据封装成json格式包含在POST请求的请求体中
hc.Method = "post" '设置调用方式, 必须为 post

Dim jo As New JObject
jo("orderNo") = "TO20220926000004"
jo("pageNo") = 1
jo("pageSize") = 2000
hc.Content = jo.tostring
Output.Show(jo.ToString)


Dim ret As String = hc.GetData '接收反馈数据
Output.Show(ret)

 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 16:00:00 [显示全部帖子]

这是测试结果:

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
远程服务器返回错误: (500) 内部服务器错误。

 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 16:42:00 [显示全部帖子]

        static void Main(string[] args)

        {

            Dictionary<string, string> dict = new Dictionary<string, string>();

            string result = Send("SCM_IHS_TransportOrderService", "1.0.0", dict);

            Console.WriteLine("\n\n处理结果:\n{0}", result);

            Console.ReadKey();

        }

        /// <param name="apiName">服务名称</param>

        /// <param name="apiVersion">服务版本号</param>

        /// <param name="dict">传送数据键值对</param>

        static String Send(String apiName, String apiVersion, Dictionary<String, String> dict)

        {

            HttpWebRequest request = WebRequest.Create(URL) as HttpWebRequest;

            request.Method = "POST";

            request.ContentType = "application/json";

 

            // 设置请求参数

      string timestamp = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) + "";

            dict.Add("_api_access_key", AK);

            dict.Add("_api_name", apiName);

            dict.Add("_api_version", apiVersion);

            dict.Add("_api_timestamp", timestamp);

 


 回到顶部
帅哥哟,离线,有人找我吗?
otterlike
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
  发帖心情 Post By:2022/10/17 16:55:00 [显示全部帖子]

public static void main(String[] args) {

        //构造ContentBody对象

        Map<String,Object> params = new HashMap<String, Object>();

        params.put("orderNo", "");

        ContentBody cb = new ContentBody(String.valueOf(new JSONObject(params)));

        //ContentBody传递,要求使用post方式进行调用


        //如果需要传递请求参数 可以拼接到请求URL中,或者设置paramsMap参数由SDK内部进行拼接

        HttpParameters.Builder builder = HttpParameters.newBuilder();

        builder.requestURL(url) // 设置请求的URL,可以拼接URL请求参数

                .api(apiName) // 设置服务名

                .version(version) // 设置版本号

                .method("post") // 设置调用方式, 必须为 post

                .accessKey(ak).secretKey(sk); // 设置accessKey 和 设置secretKey

        builder.contentBody(cb);


 回到顶部
总数 11 1 2 下一页