Read A PDF and Populate the data on Form
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-26-2020 01:32 AM
I have a requirement.I need to read a pdf and populate its data on a form. I created a Java App which is using external Java API(IText) to read a PDF File and deployed its Jar file(Both Java App and External API) to mid server. After that, I created a ECC Que and tried to call that java App. I am able to call a normal function of that java app but i am not able to call that function which is reading the PDF File. So does servicenow allow to use external Java API Deployed at mid server? Here is My Code :
Java Code
package com.midserver;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
import java.io.IOException;
public class ReadData
{
public String getData() //I am not able to call this method
{
PdfReader reader;
String textFromPage="";
try {
reader = new PdfReader("c:/demo.pdf");
// pageNumber = 1
textFromPage = PdfTextExtractor.getTextFromPage(reader, 1);
// System.out.println(textFromPage);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return textFromPage;
}
}
ECC que(output) :
<parameters>
<parameter name="script" value="var v1 = new Packages.com.midserver.ReadData();v1.getData();"/>
</parameters>
ECC Que(Input):
<?xml version="1.0" encoding="UTF-8"?><results error="Caused by error in JavaScript probe 'JavascriptProbe' at line 1 ==> 1: var v1 = new Packages.com.midserver.ReadData();v1.getData(); " probe_time="0" result_code="900000"><result error="Caused by error in JavaScript probe 'JavascriptProbe' at line 1 ==> 1: var v1 = new Packages.com.midserver.ReadData();v1.getData(); "><output>Evaluation error: Caused by error in JavaScript probe 'JavascriptProbe' at line 1
==> 1: var v1 = new Packages.com.midserver.ReadData();v1.getData();</output></result><parameters><parameter name="agent" value="mid.server.TestMidServer2"/><parameter name="response_to" value=""/><parameter name="from_sys_id" value=""/><parameter name="source" value=""/><parameter name="priority" value="2"/><parameter name="agent_correlator" value=""/><parameter name="script" value="var v1 = new Packages.com.midserver.ReadData();v1.getData();"/><parameter name="processed" value=""/><parameter name="error_string" value=""/><parameter name="sys_id" value="f4e88981db011010f37a7b82399619c6"/><parameter name="sequence" value="172500336470000001"/><parameter name="from_host" value=""/><parameter name="sys_created_on" value="2020-05-26 08:04:47"/><parameter name="sys_domain" value="global"/><parameter name="name" value="JavascriptProbe"/><parameter name="topic" value="JavascriptProbe"/><parameter name="state" value="ready"/><parameter name="queue" value="output"/><parameter name="ecc_queue" value="f4e88981db011010f37a7b82399619c6"/></parameters></results>
- Labels:
-
Incident Management
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-26-2020 03:57 AM
Hi Sanjay,
it should allow; please try to use simple java code and check
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-26-2020 04:10 AM
Simple Java code is allowed but if i am adding any external Java API(Itext.jar for ex)with this java code then i am not able to call this from ServiceNow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-26-2020 04:28 AM
Hi,
Please have a look
Please mark it correct and helpful if applicable.
Thanks,