This topic contains 8 replies, has 2 voices, and was last updated by  rpula123 3 weeks ago.

  • Author
    Posts
  • Participant
    rpula123
    Newbie
    Member since: 03.04.2019
    Number of posts: 9

    Hi,
    We are calling the OneSpan API to retrieve a single PDF document. In the response we are getting a byte stream for the pdf document. Our requirement is to download PDF from onespan and upload it to our backend repository. We are converting the byte stream response from onespan to base64Encoded as it is expected in base64 format in our backend request. Once the document is uploaded it will be available for the user to view the PDF document. Our problem we are unable to open the PDF document. Can you please help with this issue. Please find the attached onespan response from the API call.

    Keymaster
    Duo_Liang
    Guru
    Member since: 14.06.2018
    Number of posts: 828

    Score

    0

    Hey rpula123,

    Here’s a quick demo I did:
    (1)Use Java REST code download a signed PDF as byte array
    (2)call library to convert this byte array into base 64 string
    (3)manually set this string to an HTML PDF viewer replying on base64 string input.(google doc viewer in my example)
    And the flows works fine at my side. (see attachment)

    So to troubleshooting your issue, you could
    (1)zip and reupload the “pdfresponseFromOnespan.txt” file
    (2)share more information to me like which programming language you are using, which PDF viewer you are using and possibly upload the code snippet you are using now
    (3)Could you kindly try another way to encode base 64 string?

    Duo


    Duo Liang
    OneSpan Junior Technical Evangelist
    Attachments:
    You must be logged in to view attached files.
    Participant
    rpula123
    Newbie
    Member since: 03.04.2019
    Number of posts: 9

    Score

    0

    Hi Duo,

    Thank you for the example. I used the same example . I used the generated encoded String in the html file you sent . When i ran it i get “Failed to load PDF document.” error in the browser. Please find the attached html file.

    Attachments:
    You must be logged in to view attached files.
    Keymaster
    Duo_Liang
    Guru
    Member since: 14.06.2018
    Number of posts: 828

    Score

    0

    Hey rpula123,

    I decoded your base64 string, and it shows up an HTML page instead of PDF byte array. Did you replaced the API KEY, Package Id and Document Id in my example code?

    Duo


    Duo Liang
    OneSpan Junior Technical Evangelist
    Participant
    rpula123
    Newbie
    Member since: 03.04.2019
    Number of posts: 9

    Score

    0

    Yes Duo,
    now i tried with a different package and documentId. Can you please from your end.

    https://sandbox.esignlive.com/api/packages/iUIj7pdXJPeZskbfi3EPupFyc6I=/documents/e7dcfc7138902f876cd3b5682fa3125e3e6996637b3e023d/pdf

    Below is encoded string

    PCFET0NUWVBFIGh0bWw+CjxodG1sIGNsYXNzPSJ0b3VjaCIgbGFuZz0iZGEiPgoKPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0idXRmLTgiPgogIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgPHRpdGxlPk9uZVNwYW4gU2lnbjwvdGl0bGU+CgogIDxtZXRhIG5hbWU9InJvYm90cyIgY29udGVudD0ibm9pbmRleCI+CiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAsIG1heGltdW0tc2NhbGU9MS4wLCB1c2VyLXNjYWxhYmxlPW5vIj4KICA8bGluayByZWw9Imljb24iIGhyZWY9Ii9hL2ltYWdlcy9pY29ucy9mYXZpY29uLjc3NTg1MGIuaWNvIiB0eXBlPSJpbWFnZS94LWljb24iLz4KCiAgCiAgPGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0iL2EvbWFuaWZlc3QuanNvbiI+CgogIAogIDxtZXRhIG5hbWU9Im1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgPG1ldGEgbmFtZT0iYXBwbGljYXRpb24tbmFtZSIgY29udGVudD0iT25lU3BhbiBTaWduIj4KICA8bGluayByZWw9Imljb24iIHNpemVzPSIxOTJ4MTkyIiBocmVmPSIvYS9pbWFnZXMvaWNvbnMvY2hyb21lLXRvdWNoLWljb24tMTkyeDE5Mi5jZDc4YjliLnBuZyI+CgogIAogIDxtZXRhIG5hbWU9ImFwcGxlLW1vYmlsZS13ZWItYXBwLWNhcGFibGUiIGNvbnRlbnQ9InllcyI+CiAgPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtc3RhdHVzLWJhci1zdHlsZSIgY29udGVudD0iZGVmYXVsdCI+CiAgPG1ldGEgbmFtZT0iYXBwbGUtbW9iaWxlLXdlYi1hcHAtdGl0bGUiIGNvbnRlbnQ9Ik9uZVNwYW4gU2lnbiI+CgogIAogIDxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUltYWdlIiBjb250ZW50PSIvYS9pbWFnZXMvaWNvbnMvbXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UuNmYzYWNiMi5wbmciPgoKICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9hL3RoZW1lcy9zaWxhbmlzL3N0eWxlcy5lMmYyZjEwLmNzcyI+CgogIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2EvZm9udHMvZ29vZ2xlLjEyOGVjYzUuY3NzIj4KCjwvaGVhZD4KCgo8Ym9keT4KCiAgPHN0eWxlIGlkPSJqc3Mtc2VydmVyLXNpZGUiPi5qc3MxNiB7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIHotaW5kZXg6IDg4MDA7CiAgcG9zaXRpb246IGZpeGVkOwp9Ci5qc3MxNyB7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwp9Ci5qc3MzIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7Cn0KLmpzczQgewogIG92ZXJmbG93LXk6IGF1dG87CiAgb3ZlcmZsb3cteDogaGlkZGVuOwp9Ci5qc3M1IHsKICBoZWlnaHQ6IDEwMCU7CiAgb3V0bGluZTogbm9uZTsKfQouanNzNiB7CiAgbWFyZ2luOiA0OHB4OwogIGRpc3BsYXk6IGZsZXg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93LXk6IGF1dG87CiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKfQouanNzNyB7CiAgZmxleDogMCAxIGF1dG87CiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gOTZweCk7Cn0KLmpzczggewogIG1hcmdpbjogNDhweCBhdXRvOwp9Ci5qc3M5IHsKICBtYXgtd2lkdGg6IDM2MHB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOjQ1NS45NXB4KSB7CiAgLmpzczkuanNzOCB7CiAgICBtYXJnaW46IDQ4cHg7CiAgfQp9Ci5qc3MxMCB7CiAgbWF4LXdpZHRoOiAzMjBweDsKfQpAbWVkaWEgKG1heC13aWR0aDo0MTUuOTVweCkgewogIC5qc3MxMC5qc3M4IHsKICAgIG1hcmdpbjogNDhweDsKICB9Cn0KLmpzczExIHsKICBtYXgtd2lkdGg6IDYzMHB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOjcyNS45NXB4KSB7CiAgLmpzczExLmpzczggewogICAgbWFyZ2luOiA0OHB4OwogIH0KfQouanNzMTIgewogIG1heC13aWR0aDogMTAyNHB4Owp9CkBtZWRpYSAobWF4LXdpZHRoOjExMTkuOTVweCkgewogIC5qc3MxMi5qc3M4IHsKICAgIG1hcmdpbjogNDhweDsKICB9Cn0KLmpzczEzIHsKICBtYXgtd2lkdGg6IDEyMDBweDsKfQpAbWVkaWEgKG1heC13aWR0aDoxMjk1Ljk1cHgpIHsKICAuanNzMTMuanNzOCB7CiAgICBtYXJnaW46IDQ4cHg7CiAgfQp9Ci5qc3MxNCB7CiAgd2lkdGg6IDEwMCU7Cn0KLmpzczE1IHsKICB3aWR0aDogMTAwJTsKICBtYXJnaW46IDA7CiAgaGVpZ2h0OiAxMDAlOwogIG1heC13aWR0aDogMTAwJTsKICBtYXgtaGVpZ2h0OiBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLmpzczE1LmpzczggewogIG1hcmdpbjogMDsKfQouanNzMSB7CiAgcGFkZGluZzogMDsKfQpAbWVkaWEgKG1heC13aWR0aDo2MjkuOTVweCkgewogIC5qc3MxOCB7CiAgICBtYXJnaW46IDA7CiAgfQp9Ci5qc3MxOSB7CiAgd2lkdGg6IDEwMCU7CiAgbWFyZ2luOiAyNHB4OwogIG1heC13aWR0aDogbm9uZTsKICBhbGlnbi1zZWxmOiBzdGFydDsKICBmbGV4LWRpcmVjdGlvbjogcm93Owp9CkBtZWRpYSAobWluLXdpZHRoOjMyMHB4KSB7CiAgLmpzczE5IHsKICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwOwogIH0KfQpAbWVkaWEgKG1heC13aWR0aDo2MjkuOTVweCkgewogIC5qc3MxOSB7CiAgICBtYXJnaW46IDA7CiAgICBtYXgtaGVpZ2h0OiBub25lOwogICAgYm9yZGVyLXJhZGl1czogMDsKICB9Cn0KLmpzczIwIHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLXNlbGY6IGNlbnRlcjsKICBtYXJnaW4tbGVmdDogLTI0cHg7Cn0KLmpzczIxIHsKICBmb250LXdlaWdodDogNjAwOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLmpzczIyIHsKICBmb250LXNpemU6IDE0OwogIG1hcmdpbi10b3A6IDVweDsKfTwvc3R5bGU+CgogIDxkaXYgaWQ9ImNvb2tpZS1jb25zZW50LWNvbnRhaW5lciI+PC9kaXY+CgogIDxkaXYgaWQ9Im1haW4td3JhcHBlciI+PGRpdiBjbGFzcz0iam95cmlkZSI+PC9kaXY+PGRpdiBjbGFzcz0iYXBwLXdyYXBwZXIiPjxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij48ZGl2IGNsYXNzPSJ3cmFwcGVyIj48ZGl2IGNsYXNzPSJjb250YWluZXIiPjxkaXYgY2xhc3M9InJvdyI+PGRpdiBjbGFzcz0ibG9hZGluZyI+PGltZyBzcmM9Ii9hL2ltYWdlcy9sb2FkaW5nLXNwaW5uZXIuZ2lmIiBjbGFzcz0iIi8+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0ic25hY2tiYXIiIHN0eWxlPSJwb3NpdGlvbjpmaXhlZDtsZWZ0OjUwJTtkaXNwbGF5Oi13ZWJraXQtYm94LC1tb3otYm94LC1tcy1mbGV4Ym94LC13ZWJraXQtZmxleCxmbGV4O2JvdHRvbTowO3otaW5kZXg6OTMwMDt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIDQ4cHgpO3RyYW5zaXRpb246LW1zLXRyYW5zZm9ybSA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgMG1zLC13ZWJraXQtdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXMsdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXMsIHZpc2liaWxpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgNDhweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgNDhweCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXMsdHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXMsIHZpc2liaWxpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtczstbW96LXRyYW5zaXRpb246dHJhbnNmb3JtIDQwMG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXMsIHZpc2liaWxpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcyI+PC9kaXY+PC9kaXY+PC9kaXY+CgogIAogICAgPGRpdiBpZD0ibGl2ZS1jaGF0LWNvbnRhaW5lciI+PC9kaXY+CiAgCgogIAogICAgPHNjcmlwdCBpZD0iZXNsLXNldHRpbmdzIj4KICAgICAgd2luZG93LlNFVFRJTkdTID0geyJCQVNFTkFNRSI6Ii9hIiwiU0FOREJPWCI6dHJ1ZSwiVUlfU1dJVENIX1VSTCI6Ii9wYWNrYWdlcy9pbmJveCIsIkxJVkVDSEFUX0VOQUJMRUQiOnRydWUsIkxJVkVBR0VOVF9BR0VOVF9JRCI6IjU3MzUwMDAwMDAwS3pXeCIsIkxJVkVBR0VOVF9ERVBMT1lNRU5UX0lEIjoiNTcyNTAwMDAwMDBLekpIIiwiTElWRUFHRU5UX09SR19JRCI6IjAwRDMwMDAwMDAwMElFdyIsIkxJVkVBR0VOVF9VUkwiOiJodHRwczovL2QubGExLWMxLWRmdy5zYWxlc2ZvcmNlbGl2ZWFnZW50LmNvbS9jaGF0IiwiUkVDQVBUQ0hBX0VOQUJMRUQiOnRydWUsIlJFQ0FQVENIQV9TSVRFX0tFWSI6IjZMY0tmQnNUQUFBQUFFdkRuczdUd1ZycnpvUk51Wml0Q3JmbUhzcTYiLCJGRUVEQkFDS19GT1JNX0VOQUJMRUQiOnRydWUsIkZFRURCQUNLX0ZPUk1fVVJMIjoiaHR0cHM6Ly93d3cuMTIzY29udGFjdGZvcm0uY29tL3NmLnBocD9zPTEyM2NvbnRhY3Rmb3JtLTE3MTk4NTQmbGFuZ3VhZ2U9ZW4iLCJHT09HTEVfQU5BTFlUSUNTX0VOQUJMRUQiOnRydWUsIkdPT0dMRV9BTkFMWVRJQ1NfVUEiOiJVQS0yOTUwMzEwLTE0IiwiUkVMRUFTRV9ISUdITElHSFRTX1VSTCI6Imh0dHBzOi8vZG9jcy5lc2lnbmxpdmUuY29tL2NvbnRlbnQvZl9yZWxlYXNlX25vdGVzL2VzaWdubGl2ZV9yZWxlYXNlX25vdGVzLmh0bSIsIlJFTEVBU0VfVkVSU0lPTiI6IjExLjI1LjEiLCJTSUdOVVBfVVJMIjoiaHR0cHM6Ly93d3cuZXNpZ25saXZlLmNvbS9wYXJ0bmVycy1hbmQtYXBwcy9zYW5kYm94LWFjY291bnQtY3JlYXRpb24vIiwiVEVSTVNfQ09ORElUSU9OU19VUkwiOiJodHRwczovL3d3dy5lc2lnbmxpdmUuY29tL2xhbmRpbmdzL3Rlcm1zLWFuZC1jb25kaXRpb25zLXNlcnZpY2UvIiwiUFJJVkFDWV9OT1RJQ0VfVVJMIjoiaHR0cHM6Ly93d3cuZXNpZ25saXZlLmNvbS9sYW5kaW5ncy9wcml2YWN5LW5vdGljZS8iLCJPTkxJTkVfSEVMUF9VUkwiOiJodHRwczovL2RvY3MuZXNpZ25saXZlLmNvbS8iLCJTWVNURU1fU1RBVFVTX1VSTCI6Imh0dHBzOi8vdHJ1c3QuZXNpZ25saXZlLmNvbS8iLCJDT01NVU5JVFlfVVJMIjoiaHR0cHM6Ly9kZXZlbG9wZXIuZXNpZ25saXZlLmNvbS8iLCJIT01FUEFHRV9VUkwiOiJodHRwczovL3d3dy5vbmVzcGFuLmNvbS9zaWduIiwiU0VOVFJZX0VOQUJMRUQiOnRydWUsIlNFTlRSWV9QVUJMSUNfRFNOIjoiaHR0cHM6Ly84OGFkNTAzZjNlMWM0ZGI5YmJmODcwYzEwYjdlNmI3NkBhcHAuZ2V0c2VudHJ5LmNvbS83NTcwNCIsIlNFTlRSWV9FTlYiOiJ1c3NhbmRib3giLCJJRlJBTUVfREVCVUdfRU5BQkxFRCI6ZmFsc2UsIkZPT1RFUl9PTl9MT0dJTiI6dHJ1ZSwiQ09PS0lFX1BPTElDWV9OQU1FIjoiZXNsLWNvb2tpZS1jb25zZW50IiwiQ09PS0lFX1BPTElDWV9FWFBJUkVTIjozMTUzNjAwMDAwMCwiRFJPUFpPTkVfVVBMT0FEX0VOQUJMRUQiOmZhbHNlfTsKICAgIDwvc2NyaXB0PgogIAoKICAKICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2MubGExLWMxLWRmdy5zYWxlc2ZvcmNlbGl2ZWFnZW50LmNvbS9jb250ZW50L2cvanMvMzUuMC9kZXBsb3ltZW50LmpzIj48L3NjcmlwdD4KICAKCiAgCgogIAogICAgPCEtLSBHbG9iYWwgU2l0ZSBUYWcgKGd0YWcuanMpIC0gR29vZ2xlIEFuYWx5dGljcyAtLT4KICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPVVBLTI5NTAzMTAtMTQiPjwvc2NyaXB0PgogICAgPHNjcmlwdD4KICAgICAgd2luZG93LmRhdGFMYXllciA9IHdpbmRvdy5kYXRhTGF5ZXIgfHwgW107CiAgICAgIGZ1bmN0aW9uIGd0YWcoKXtkYXRhTGF5ZXIucHVzaChhcmd1bWVudHMpO30KICAgICAgZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsKCiAgICAgIGd0YWcoJ2NvbmZpZycsICdVQS0yOTUwMzEwLTE0JywgewogICAgICAgICdhbm9ueW1pemVfaXAnOiB0cnVlLAogICAgICAgICdzZW5kX3BhZ2Vfdmlldyc6IGZhbHNlCiAgICAgIH0pOwogICAgPC9zY3JpcHQ+CiAgCgogIDxzY3JpcHQgc3JjPSIvYS92ZW5kb3JzL3BvbHlmaWxsLm1pbi43NWI0ZmY2LmpzIj48L3NjcmlwdD4KICA8c2NyaXB0IHNyYz0iL2Evc2NyaXB0cy92ZW5kb3JzLmNodW5rLmQ4NGFlYTMuanMiPjwvc2NyaXB0PgogIDxzY3JpcHQgc3JjPSIvYS9zY3JpcHRzL2NsaWVudC5kN2Y3ZmY2LmpzIj48L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPgo=

    Keymaster
    Duo_Liang
    Guru
    Member since: 14.06.2018
    Number of posts: 828

    Score

    0

    Hi rpula123,

    I’ve checked and it seems that your account is under US1 Sandbox with url of “https://sandbox.e-signlive.com/api/”, that’s why you can’t download the PDF.

    Duo


    Duo Liang
    OneSpan Junior Technical Evangelist
    Participant
    rpula123
    Newbie
    Member since: 03.04.2019
    Number of posts: 9

    Score

    0

    sorry Duo, i didn’t understand what you said. Are you saying if i use sandbox url i cannot download? Can you please be more clear.

    Keymaster
    Duo_Liang
    Guru
    Member since: 14.06.2018
    Number of posts: 828

    Score

    0

    Hi,

    I meant that your url should be “https://sandbox.e-signlive.com/api/” instead of “https://sandbox.esignlive.com/api/” by changing the code as below:

    	private String url = "https://sandbox.e-signlive.com/api/";

    Duo


    Duo Liang
    OneSpan Junior Technical Evangelist
    Participant
    rpula123
    Newbie
    Member since: 03.04.2019
    Number of posts: 9

    Score

    0

    Sorry if i confused you. I am able to download the PDF from onespan. I am able to perform the 3 steps you mentioned earlier. Now in the 3 step i am having issues when i open the html file to view the PDF. it says Failed to load the pdf document.

    (1)Use Java REST code download a signed PDF as byte array
    (2)call library to convert this byte array into base 64 string
    (3)manually set this string to an HTML PDF viewer replying on base64 string input.(google doc viewer in my example)

You must be logged in to reply to this topic.