Wakanda RPC客户端

时间:2017-05-31 07:06:51

标签: angular rpc wakanda

我在Wakanda Studio(Angular 4项目)的modules文件夹(后端)中创建了一个JS文件,我启用了RPC并将其添加到permissions.waPerm文件中。

当我签入localhost:8081 / rpc-proxy / myRpc /我可以看到该方法存在但我不知道如何访问它客户端,因为每个关于它的文档都谈到使用Prototyper或GUI Wakanda工作室的设计师,但这两个在当前版本的工作室中不再存在。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在Angular 4或除WAF之外的任何客户端框架中。可以使用HTTP POST在应用程序中将JSON-PRC服务作为外部模块进行访问。

根据文档,如果要从任何外部页面调用Wakanda RPC方法,则需要在HTML页面中添加“脚本”标记。例如:

<script type="text/javascript" src="/rpc-proxy/myRPC?namespace=myRPC"></script>

WAFmyRPC将在您的角度应用中提供。 然后,您所要做的就是使用命名空间myRPC(稍微调整一下)。

以下是我为使其发挥作用所做的工作:

  1. 在index.html中添加脚本

  2. 然后,在app.component.ts中声明WAF和myRPC:

    declare var myRPC: any; declare var WAF: any;

  3. 调整WAF对象:

    WAF.core = {restConnect:{baseURL : "${window.location.origin}"}}; WAF.config = {enableFilePackage:true}

  4. 使用documented API调用myRPC:

    myRPC.isEmptyAsync({ 'onSuccess': function(result) { console.log(result); }, 'onError': function(error){ console.log('An error occured: '+error); },
    'params': [4, 5]})

  5. 更新“proxy.conf.json”:使用以下JSON对象:

    { "/rest/*": { "target": "http://127.0.0.1:8081", "secure": false, "ws": true, "headers": { "host": "127.0.0.1:8081", "origin": "http://127.0.0.1:8081" } }, "/rpc-proxy/*": { "target": "http://127.0.0.1:8081", "secure": false, "ws": true, "headers": { "host": "127.0.0.1:8081", "origin": "http://127.0.0.1:8081" } }, "/rpc/*": { "target": "http://127.0.0.1:8081", "secure": false, "ws": true, "headers": { "host": "127.0.0.1:8081", "origin": "http://127.0.0.1:8081" } } }

  6. 希望这有帮助。