12下一页
发帖
查看: 3535|回复: 11

关于流程中调用外部API问题

升级   58.67%

6

主题

10

回帖

138

积分

注册会员

Rank: 2

积分
138
发表于 2023-6-13 08:41:26 | 显示全部楼层 |阅读模式
可爱美丽帅气又善良的管理员大大你好,有这样一个问题这是我调用外部api接口的代码,为什么他只能在页面中的事件里面执行,无法在流程的脚本中执行呢?报错从500一直到了404!!!!请问如何才能在流程的脚本中执行呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37249
发表于 2023-6-13 10:38:48 | 显示全部楼层
后端脚本不支持es6,不能使用const
回复

使用道具 举报

升级   58.67%

6

主题

10

回帖

138

积分

注册会员

Rank: 2

积分
138
发表于 2023-6-13 11:10:21 | 显示全部楼层
本帖最后由 damon 于 2023-6-13 11:24 编辑


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   58.67%

6

主题

10

回帖

138

积分

注册会员

Rank: 2

积分
138
发表于 2023-6-13 11:23:04 | 显示全部楼层
我将其都更改成了var依旧是无法实现
回复

使用道具 举报

升级   58.67%

6

主题

10

回帖

138

积分

注册会员

Rank: 2

积分
138
发表于 2023-6-13 11:26:29 | 显示全部楼层
论坛管理员 发表于 2023-6-13 10:38
后端脚本不支持es6,不能使用const

在脚本中应该怎样才能执行debugger呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37249
发表于 2023-6-13 15:34:32 | 显示全部楼层
脚本里不能用debugger,可以加print输出,您的写法不对,参考:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   58.67%

6

主题

10

回帖

138

积分

注册会员

Rank: 2

积分
138
发表于 2023-6-19 15:53:24 | 显示全部楼层
论坛管理员 发表于 2023-6-13 15:34
脚本里不能用debugger,可以加print输出,您的写法不对,参考:

请问我这段代码存在什么问题吗?为什么无法连接到端口,控制台也没有报错print也没打印出任何值
function sendRequest(fileNames, fileIDs, pathName){
    try{
        print("发起请求:");
        var url =  'http://localhost:9002/OAfile/download';
        var ArrayList = Java.type('java.util.ArrayList');
        var heads = new ArrayList();
        var NameValuePair = Java.type('com.x.base.core.project.bean.NameValuePair');
        var p1 = new NameValuePair('Content-Type', 'application/json');
        heads.add(p1);
        var HttpConnectionClass = Java.type('com.x.base.core.project.connection.HttpConnection');
        
        // 创建一个JSON对象,包含三个参数
        var data = {
            "fileNames": fileNames,
            "fileIDs": fileIDs,
            "Path": pathName
        };
        
        // 将JSON对象转换为字符串
        var json = JSON.stringify(data);
        
        // 发送POST请求
        var resp = HttpConnectionClass.postAsString(url, heads, json);
        print( "返回:"+ resp.toString());
    }catch(e){
        print("发送请求出错:");
        print(  e.printStackTrace() );
    }
}

// 定义文件名和文件ID的数组
var attachmentList =  this.workContext.getAttachmentList();
var fileNames = [];
var fileIDs = [];
var pathName = '薪资调整';

// 调用sendRequest函数,发送POST请求
sendRequest(fileNames, fileIDs, pathName);
回复

使用道具 举报

升级   100%

3

主题

1502

回帖

4927

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4927
发表于 2023-6-19 17:36:49 | 显示全部楼层
damon 发表于 2023-6-19 15:53
请问我这段代码存在什么问题吗?为什么无法连接到端口,控制台也没有报错print也没打印出任何值
function s ...



这个写法后端不支持的,您是已经去掉了吗?因为您最近贴的这段代码我看传入方法的fileNames和fileIDs是空数组

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   58.67%

6

主题

10

回帖

138

积分

注册会员

Rank: 2

积分
138
发表于 2023-6-20 09:29:23 | 显示全部楼层
xadmin 发表于 2023-6-19 17:36
这个写法后端不支持的,您是已经去掉了吗?因为您最近贴的这段代码我看传入方法的fileNames和fileIDs是 ...

首先感谢您的回复是的这段代码已经改成了下面这段代码,传入方法的fileNames和fileIDs确实是空数组,我现在在测试接口是否可以连接.可是这段代码是有执行成功的但并没有向接口发送请求
function sendRequest(fileNames, fileIDs, pathName){
    try{
        print("发起请求:");
        var url =  'http://localhost:9002/OAfile/download';
        var ArrayList = Java.type('java.util.ArrayList');
        var heads = new ArrayList();
        var NameValuePair = Java.type('com.x.base.core.project.bean.NameValuePair');
        var p1 = new NameValuePair('Content-Type', 'application/json');
        heads.add(p1);
        var HttpConnectionClass = Java.type('com.x.base.core.project.connection.HttpConnection');
        
        // 创建一个JSON对象,包含三个参数
        var data = {
            "fileNames": fileNames,
            "fileIDs": fileIDs,
            "Path": pathName
        };
        
        // 将JSON对象转换为字符串
        var json = JSON.stringify(data);
        
        // 发送POST请求
        var resp = HttpConnectionClass.postAsString(url, heads, json);
        print( "返回:"+ resp.toString());
    }catch(e){
        print("发送请求出错:");
        print(  e.printStackTrace() );
    }
}

// 定义文件名和文件ID的数组
var attachmentList =  this.workContext.getAttachmentList();
var fileNames = [];
var fileIDs = [];
var pathName = '薪资调整';

// 调用sendRequest函数,发送POST请求
sendRequest(fileNames, fileIDs, pathName);
回复

使用道具 举报

升级   58.67%

6

主题

10

回帖

138

积分

注册会员

Rank: 2

积分
138
发表于 2023-6-20 09:31:23 | 显示全部楼层
另外如果这个方式行不通,应该如何在流程中调用第三方接口发送post请求呢?
回复

使用道具 举报

12下一页
发帖

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread