Wakanda 2 - 调用 RPC 的 REST API

Wakanda 2 - REST API for calling an RPC

我想使用 REST 调用来调用我的服务器端 RPC 模块函数。

我实际上已经就地关闭了一些东西,但它给了我一个 500 内部服务器错误,我不知道如何排除故障。以下是我所拥有的。在我的项目设置中为模块启用了 RPC。允许 CORS。

rpc(moduleName: string, methodName: string, params: any[]): Promise<any> {
        let data = {
            jsonrpc: '2.0',
            //id: 167972631107,
            module: moduleName,
            method: methodName,
            params: params
        };

        let headers = new Headers({
            'Content-Type': 'application/json'
        });

        return this.http.post(`http://127.0.0.1:8081/rpc/`, JSON.stringify(data), headers).toPromise();
    }

首先检查模块是否有权限从客户端执行:

<?xml version="1.0" encoding="UTF-8"?>
    <permissions>
        <allow type="module" resource="myRPC" action="executeFromClient"/>
    </permissions>

其次,500 错误可能表示由于客户端发送的参数不正确或模块中的错误代码导致服务器端执行中出现未处理的错误。您可以使用浏览器网络检查器来验证 POST 请求发送的数据。或者在RPC代码中放一个"debugger" trace语句来设置断点。如果服务器收到请求,执行将在断点处停止,然后您可以从那里检查运行时。