Docusignapi 有人试过在IBMi(又称iSeries,AS400)中使用docuSign吗?

Docusignapi 有人试过在IBMi(又称iSeries,AS400)中使用docuSign吗?,docusignapi,ibm-midrange,rpgle,Docusignapi,Ibm Midrange,Rpgle,我正在尝试使用RPGLE从ibmi调用DocuSign的API和real state的ROOMS。我没有成功。如果有人能够做到这一点,您可以共享吗?调用DocuSign API需要您的服务器使用POST动词进行HTTPS调用。谷歌给出了一些不错的结果,参见 也看到 你最好的办法是在RPGLE论坛上提问。调用docusignapi和获取OAuth访问令牌(可能通过JWT授权)是主要问题。一旦您能够做到这一点,实际的API请求可以通过JSON或XML发送 另一个想法可能是使用不同的服务器与DocuS

我正在尝试使用RPGLE从ibmi调用DocuSign的API和real state的ROOMS。我没有成功。如果有人能够做到这一点,您可以共享吗?

调用DocuSign API需要您的服务器使用POST动词进行HTTPS调用。谷歌给出了一些不错的结果,参见

也看到

你最好的办法是在RPGLE论坛上提问。调用docusignapi和获取OAuth访问令牌(可能通过JWT授权)是主要问题。一旦您能够做到这一点,实际的API请求可以通过JSON或XML发送


另一个想法可能是使用不同的服务器与DocuSign通信,如果这样更容易的话第二台服务器可以运行Windows或Linux。

能够获得OAuth令牌,并在周五下午晚些时候成功使用Systools.HttpGetClob创建了Get帐户。感谢您花时间回复我。

我在RDi调试中运行它,并在获得验证后查看值。 这是实现以下功能的GETACCNT2 RPGLE POC代码示例: **免费的 ctl opt选项(*srcsmt:*nodebugio:*nounref) actgrp(*调用方); ctl opt debug(*输入)



getenv只是一个指向环境变量的指针。

您有关于DocuSign的文档吗?SQL函数HTTPPOSTCLOB可用于从RPG调用web服务。请查看以下内容:。发布一个具体的示例和遇到的错误对您很有帮助。如果您发布工作代码,这将是对问题的一个很好的回答。是的,我们很想看到代码!你能把它放在github的某个地方吗?
   dcl-pr getenv pointer extproc('getenv');
           *n pointer value options(*string:*trim);
   end-pr;

   dcl-pr setEnv         extpgm('SETENV');
   end-pr;
   //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    // Workfields
    // - - - - - - -

    dcl-s WebServiceUrl    varchar(1024) inz;
    dcl-s WebServiceHeader varchar(1024) inz;
    dcl-s account          varchar(200)  inz;
    dcl-s token            varchar(1000)  inz;
    dcl-s qs_acname        varchar(30)   inz;
    dcl-s acName           varchar(30)   inz;

    //--------------------------------------------------------

   account = '3d3e586b-XXXX-4d02-yyyy-f64a68cf41db';

   setEnv();

       // Get API key stored setENV
   token = %str(getenv('ESIGN')) ;

    Exsr SetUp;
    Exsr ConsumeWs;

    *Inlr = *On;
    Return;

    //--------------------------------------------------------
    // SetUp  subroutine
    //--------------------------------------------------------

    Begsr SetUp;
      // this would be a soft-coded parameter passed to the program
      WebServiceUrl =
      'https://demo.docusign.net/restapi/v2.1/accounts/' + %trim(account) +
      '?include_account_settings=true';

      WebServiceHeader =
       '<httpHeader>'+
       '<header name="accept" value="application/json" />'+
       '<header name="authorization" value= "Bearer '+ %trim(token)+ '"'+
       '/>'+
       '<header name="Accept-Encoding" value = "gzip,deflate,br"/>'+
       '</httpHeader>';

    Endsr;
   //--------------------------------------------------------
   // ConsumeWs  subroutine
   //--------------------------------------------------------

   Begsr ConsumeWs;

   Exec sql
       Select ws_acname
         INTO  :qs_acname
     from
         Json_Table(Systools.HttpGetClob(:WebServiceUrl,
                                         :WebServiceHeader),
         '$'
     Columns(ws_acname   Varchar(30)  Path 'lax $.accountName')
         ) As x;

       acname = qs_acname;

   Endsr;  
         PGM        /* Sets enviromnet variables with token values */
         
         ADDENVVAR  ENVVAR('ESIGN') +
                      VALUE('eyJ0eXAiO etc token key.... +
                      kiHX6jlcGbRKsyg8_5Klg9SS2S4upZ5AQ') REPLACE(*YES)
         MONMSG     MSGID(CPFA980)
         ENDPGM