我需要使用DocuSign的其余服务从信封中下载文档。
我正在使用的系统使用Javascript,但是使用Java圣经。
我正在通过java.net.URL进行方法的调用,但无法获取要在系统上使用的文件的字节。
我试图读取返回的InputStream,但这没有返回带有base64的XML。
var url = new java.net.URL('https://demo.docusign.net/restapi/v2.1/accounts/0c2ddaae-e258-4ade-a435-e4ee50fd2542/envelopes/c60565e2-40d9-43f3-bb2d-58e086c20fca/documents/1');
var connection = url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("GET");
connection.setRequestProperty("X-DocuSign-Authentication", '{"Username":"user","Password":"password=","IntegratorKey": "guid"}');
connection.setRequestProperty("content-type", "text/xml;charset=UTF-8");
if(connection.getResponseCode() == 200){
try{
var retorno = new java.io.BufferedReader(new java.io.InputStreamReader(connection.getInputStream()));
var retData = new java.lang.StringBuilder();
var line;
while((line = retorno.readLine()) != null){
retData.append(line);
}
var strData = retData.toString();
当我使用SoapUi时,会收到以下消息: JVBERi0xLjQKJfv8 / blablalblalblalba
但是在我的代码中,我收到了以下信息:
HTTP / 1.1 200 OK缓存控制:无缓存内容长度:122448
内容类型:application / pdf X-RateLimit-Reset:1561921200
X-RateLimit-Limit:1000 X-RateLimit-剩余:955
X-DocuSign-TraceToken:c5710b05-b13c-460f-b04a-1e683471934e
Content-Disposition:文件; filename = blank1.pdf; documentid = 1日期:
2019年6月30日星期日18:51:47 GMT
答案 0 :(得分:0)
您使用EnvelopeDocuments::get API方法。
请参见code example。
请参见Java example implementation
请注意,documentId
可以是信封中特定文档的ID或保留值之一:
combined
-将下载包含信封所有文档的单个PDF archive
-将下载一个zip文件。您的代码示例表明您正在尝试通过流传输目的地数据来优化下载。如今,由于便宜的内存(真实的和虚拟的),我建议您只是将文档下载到内存中,然后处理它。
您以后可以根据需要优化使用流。