This topic contains 3 replies, has 0 voices, and was last updated by david.smith 7 years, 5 months ago.

  • Author
    Posts
  • #21788

    dmashburn3

    I have an XML document returning from an API and I want to take the binary 64 and write to a file, however, I'm having trouble getting the binary out of the document.

    I'm trying to use the following code to do so, and this works in my console, however when I put it into the suitelet to write the file, I keep getting the following error:

    UNEXPECTED_ERROR Java class "org.apache.xerces.dom.DeepNodeListImpl" has no public instance field or method named "0".

    That stems from these lines of script:

    Code:
    var pdfResponseXML = nlapiStringToXML(pdfResponse.getBody());
    var binaryPdf = pdfResponseXML.getElementsByTagName("PdfDocument")[0].textContent;
    var file = nlapiCreateFile('BOLID'+bolId,'pdf',binaryPdf);
    It appears the line "pdfResponseXML.getElementsByTagName("PdfDocum ent" )[0].textContent" is the one that only works in the console and is throwing the error. Is there another way to get that binary out?

    Thanks

    Attached Files
    This is a cached copy. Click here to see the original post.

  • #21789

    dmashburn3

    After some research, it looks like nlapiSelectValue(pdfResponseXML,'//PdfDocument') should be the way to go, but it keeps returning an undefined variable.

  • #21790

    ironside

    we use jsonix for XML<->JSON interaction. You might try it then work with the resulting object as plain ole JSON.

  • #21791

    david.smith

    NetSuite built-in XPath functions

You must be logged in to reply to this topic.