0

CodeIgniter アプリケーション内で DocuSign REST ログイン情報を呼び出そうとしています。Docusign のサンプル コードは次のとおりです。

// Input your info here:
$integratorKey = '...';
$email = '...@....com';
$password = '...';
$name = 'John Doe';

// construct the authentication header:
$header = "<DocuSignCredentials><Username>" . $email . "</Username><Password>" . $password . "</Password><IntegratorKey>" . $integratorKey . "</IntegratorKey></DocuSignCredentials>";

/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 1 - Login (to retrieve baseUrl and accountId)
/////////////////////////////////////////////////////////////////////////////////////////////////
$url = "https://demo.docusign.net/restapi/v2/login_information";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-DocuSign-Authentication: $header"));

$json_response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);

if ( $status != 200 ) {
    echo "error calling webservice, status is:" . $status;
    exit(-1);
}

ステータス レスポンスが 0 のままです。curl をエコーアウトすると、すべての xml タグが小文字に変換されています (これは Docusign では機能しません)。CodeIgniter 内でこの呼び出しを行った人はいますか? どうやってそれを達成しましたか?コマンド ライン curl を実行して応答を取得できるため、資格情報が適切であることはわかっています。

4

1 に答える 1

0

CodeIgniter が何をしているのか、なぜタグが小文字に変換されるのかはわかりませんが、DocuSign は xml タグが大文字で始まることを期待しているため、機能しない可能性があります。ただし、代わりに JSON ヘッダーとリクエスト ボディを使用することもできます。

たとえば、次のような XML 形式の認証ヘッダーの代わりに

<DocuSignCredentials>
  <Username>username</Username>
  <Password>password</Password>
  <IntegratorKey>integrator_key</IntegratorKey>
</DocuSignCredentials>

次のような対応する JSON 認証ヘッダーを使用できます

{
    "Username": "username",
    "Password": "password",
    "IntegratorKey": "integrator_key"
}

「ノード」はまだ大文字で始まりますが、xml ではないため、CodeIgniter がそのままにしておくのではないかと思います。この例は、DocuSign Developer Centerこのページにあります。

于 2013-09-11T17:43:58.447 に答える