2

我在使用 Java DocuSignAPI 时遇到问题。该代码在 2.9.0 版中运行良好,但在更高版本中我得到了 ClientHandlerException。我按照 DocuSign 网页上的 OAuth 说明收到了 accessToken。我还按照代码片段创建了一个简单的信封。

如前所述,代码片段适用于 2.9.0 版和以前的版本。我已经发现,在 ApiClient 的构造函数中有一个带有空参数的 OAuth 设置。

authentications = new HashMap<String, Authentication>();
authentications.put("docusignAccessCode", new OAuth(null, null, null));

这在 OAuth.updateAccessToken 函数中的 NullPointerException 中运行。不知道我做错了什么。这是获取帐户信息的简单示例。

public static void main(String[] args) {

        ApiClient apiClient = new ApiClient();
        apiClient.setBasePath("https://demo.docusign.net/restapi");
        apiClient.addDefaultHeader("Authorization",
                "Bearer [accessToken]");

        try {
            AccountsApi accountsApi = new AccountsApi(apiClient);
            AccountInformation accountInformation = accountsApi.getAccountInformation("[AccountId]");
            System.out.println(accountInformation);
        } catch (ApiException e) {
            System.out.println(e);
        }

    }

异常消息如下:

Exception in thread "main" com.sun.jersey.api.client.ClientHandlerException
    at com.docusign.esign.client.auth.OAuth.updateAccessToken(OAuth.java:111)
    at com.docusign.esign.client.auth.OAuth.applyToParams(OAuth.java:99)
    at com.docusign.esign.client.ApiClient.updateParamsForAuth(ApiClient.java:1209)
    at com.docusign.esign.client.ApiClient.getAPIResponse(ApiClient.java:1094)
    at com.docusign.esign.client.ApiClient.invokeAPI(ApiClient.java:1158)
    at com.docusign.esign.api.AccountsApi.getAccountInformation(AccountsApi.java:851)
    at com.docusign.esign.api.AccountsApi.getAccountInformation(AccountsApi.java:805)
    at Main.main(Main.java:17)
Caused by: java.lang.NullPointerException
    at com.docusign.esign.client.auth.OAuth.updateAccessToken(OAuth.java:109)
    ... 7 more

使用 2.9.0 版,我得到了预期的帐户信息:

class AccountInformation {
    ...
}
4

1 回答 1

0

从 API:World 返回后,我在 2019 年 10 月 14 日遇到了同样的问题。我通过使用docusign-esign-java-2.9.0.jar 而不是docusign-esign-java-3.2.0.jar 解决了这个问题。

我正在逐字跟踪https://developers.docusign.com/esign-rest-api/code-examples/quickstart-request-signature-email上的代码示例 (使用我的帐户和 OAuth 访问令牌)。

C# 示例工作正常。我将 NuGet 用于库。对于 Java,我使用了 Maven。

就重现问题而言,这应该很容易在 Docusign 端进行测试。

于 2019-10-14T23:33:45.547 回答