-
30. Re: Attachments integration between Service now and Remedy
LJ LongWingNov 13, 2017 2:06 PM (in response to Suresh Loganathan)
Yes, that's the way it works
-
31. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jun 16, 2018 4:51 AM (in response to LJ LongWing)Hi Lj,
I have implemented the plugin into server. While calling the plugin into Vendor form the plugin is not visible to the form. It gives an error like below. Server Version is 7.6.04 SP5. I have followed steps as you recommended in the read me file.
can you please advise our server will support this plugin?Please advise.
2018-06-16 00:10:29,061 ERROR [main] com.bmc.arsys.pluginsvr.plugins.g (?:?) -
Message not in catalog; Message number = 8756 Plugin: APL.ARDBC.RESTFULARDBCPLUGIN
java.lang.UnsupportedClassVersionError: com/apl/RestfulARDBCPlugin : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at com.bmc.arsys.pluginsvr.plugins.e.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at com.bmc.arsys.pluginsvr.plugins.g.a(Unknown Source)
at com.bmc.arsys.pluginsvr.plugins.g.loadClass(Unknown Source)
at com.bmc.arsys.pluginsvr.plugins.g.a(Unknown Source)
at com.bmc.arsys.pluginsvr.plugins.g.initializeJavaPlugins(Unknown Source)
at com.bmc.arsys.pluginsvr.ARPluginServerMain.main(Unknown Source)
2018-06-16 00:10:29,064 ERROR [main] com.bmc.arsys.pluginsvr.plugins.g (?:?) - Failed to call init plugin APL.ARDBC.RESTFULARDBCPLUGIN
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.0.el5_11-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
Regards,
Suresh Loganathan
-
32. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jun 18, 2018 7:15 AM (in response to Suresh Loganathan)Do i have any update on my queries. Please advise.
Regards,
Suresh Loganathan.
-
33. Re: Attachments integration between Service now and Remedy
LJ LongWingJun 18, 2018 9:03 AM (in response to Suresh Loganathan)
Suresh,
The error in question is a Java error saying that the Java being used is not the minimum version necessary. The plugin requires Java 7, but I suspect that your plugin server is not using Java 7...
-
34. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jun 19, 2018 4:03 AM (in response to LJ LongWing)Hi LJ,
Thanks for your email. I have checked in armonitor.conf Existing plugin is using jdk1.6.0_26. In server directory java 1.7 is available with the below location.
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/java.
I have used this path and configured like below.
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/java -Xmx512m -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -classpath /opt/arsv7/ARSystem/pluginsvr:/opt/arsv7/ARSystem/pluginsvr/pluginsvr_java7/APLRestfulARDBCPlugin.jar com.bmc.arsys.pluginsvr.ARPluginServerMain -x arsltest -i /opt/arsv7/ARSystem
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/java -Xmx512m -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -classpath /opt/arsv7/ARSystem/pluginsvr:/opt/arsv7/ARSystem/pluginsvr/pluginsvr_java7/jackson-core-2.8.1.jar com.bmc.arsys.pluginsvr.ARPluginServerMain -x arsltest -i /opt/arsv7/ARSystem
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/java -Xmx512m -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -classpath /opt/arsv7/ARSystem/pluginsvr:/opt/arsv7/ARSystem/pluginsvr/pluginsvr_java7/jackson-databind-2.8.5.jar com.bmc.arsys.pluginsvr.ARPluginServerMain -x arsltest -i /opt/arsv7/ARSystem
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64/jre/bin/java -Xmx512m -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -classpath /opt/arsv7/ARSystem/pluginsvr:/opt/arsv7/ARSystem/pluginsvr/pluginsvr_java7/jackson-annotations-2.8.0.jar com.bmc.arsys.pluginsvr.ARPluginServerMain -x arsltest -i /opt/arsv7/ARSystem
Finally, restarted the server. Still getting the error like
ARERR [8760] Cannot establish a network connection to the AR System Plug-In server : Server Name(6207) APL.ARDBC.RESTFULARDBCPLUGIN : RPC: Miscellaneous tli error - System error (Connection refused).
Can you please advise to resolve this issue?
Regards,
Suresh Loganathan.
-
35. Re: Attachments integration between Service now and Remedy
LJ LongWingJun 19, 2018 9:51 AM (in response to Suresh Loganathan)
So, that's an error stating that the plugin server is unreachable...you'll want to check the arjavaplugin.log (or other if you didn't use the default plugin server) as well as the stdout and stderr logs to see why the plugin server didn't start.
-
36. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jun 20, 2018 1:03 AM (in response to LJ LongWing)Hi LJ,
Thanks for your response. I have resolved the issue. It was happends due to filepath from armonitor.conf file. I can able to create the vendor form and call the table entry (APL:RestflVendorForms:Table).
In the URL field (APL:RestflVendorForms:Table), i have used the service now target URL ie., http://devinstance.service-now.com/ecc_queue.do. and created a body template as
-----------------------------
Create Body Template:
-----------------------------
--W3NByNRZZYy4ALu6xeZzvWXU3NVmYUxoRB
Content-Disposition: form-data; name="entry"
Content-Type: application/json; charset=UTF-8
Content-Transfer-Encoding: 8bit
{
"agent":"AttachmentCreator",
"topic":"AttachmentCreator",
"payload":"test data from Remedy end",
"source":"incident:ba9b68a9db7a53803502fd431d96193d",
"queue":"input",
"state":"ready"
}
--W3NByNRZZYy4ALu6xeZzvWXU3NVmYUxoRB
Content-Disposition: form-data; name="attach-Attachment"; filename="|ROOT:entries:values:Attachment:name|"
Content-Type: application/octet-stream
Content-Transfer-Encoding: Base64
|MyAttachmentElement|
--W3NByNRZZYy4ALu6xeZzvWXU3NVmYUxoRB--
Entered the all details and try to send the above data via - APL:RestflVendorForms:Table .Can you please advise to resolve and test the dummy data.
----------------
Error Details:
-----------------
2018-06-20 07:44:44,954 ERROR [pool-2-thread-2] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) - <APL.ARDBC.RESTFULARDBCPLUGIN>Exception adding body to connection: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2018-06-20 07:44:44,970 ERROR [pool-2-thread-5] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) - <APL.ARDBC.RESTFULARDBCPLUGIN>Entry ID is not in correct format, Entry ID being searched for is '3'
2018-06-20 07:44:50,651 ERROR [pool-2-thread-2] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) - <APL.ARDBC.RESTFULARDBCPLUGIN>IOException connecting to URL: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2018-06-20 07:44:50,654 ERROR [pool-2-thread-2] com.bmc.arsys.pluginsvr.plugins.a (?:?) - getListEntryWithFields() FAILs in plugin: APL.ARDBC.RESTFULARDBCPLUGIN
java.lang.NoClassDefFoundError: java/util/Base64
at com.apl.Functions.serializeEntryObject(Functions.java:679)
at com.apl.RestfulARDBCPlugin.manageCacheEntry(RestfulARDBCPlugin.java:2281)
at com.apl.RestfulARDBCPlugin.generateErrorEntryList(RestfulARDBCPlugin.java:1687)
at com.apl.RestfulARDBCPlugin.makeRestCall(RestfulARDBCPlugin.java:2117)
at com.apl.RestfulARDBCPlugin.getListEntryWithFields(RestfulARDBCPlugin.java:818)
at com.bmc.arsys.pluginsvr.plugins.a.ArdbcGlewf(Unknown Source)
at com.bmc.arsys.pluginsvr.a.ArEsArdbcGlewf_5(Unknown Source)
at com.bmc.arsys.pluginsvr.a.ArEsArdbcGlewf_4(Unknown Source)
at com.bmc.arsys.arrpc.ARPluginServerDispatcher.dispatchOncRpcCall(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler.dispatchCall(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler.if(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler.processRpcCall(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler$Processor.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Regards,
Suresh Loganathan.
-
37. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jun 20, 2018 5:34 AM (in response to Suresh Loganathan)Mainly, getting 2 errors.
1. java.lang.NoClassDefFoundError: java/util/Base64
2. Entry ID is not in correct format, Entry ID being searched for is '3'
2018-06-20 09:49:57,859 ERROR [pool-2-thread-2] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) - <APL.ARDBC.RESTFULARDBCPLUGIN>Entry ID is not in correct format, Entry ID being searched for is '3'
2018-06-20 10:46:07,056 ERROR [pool-2-thread-1] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) - <APL.ARDBC.RESTFULARDBCPLUGIN>Exception adding body to connection: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2018-06-20 10:46:07,089 ERROR [pool-2-thread-2] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) - <APL.ARDBC.RESTFULARDBCPLUGIN>Entry ID is not in correct format, Entry ID being searched for is '3'
Regards,
Suresh Loganathan.
-
38. Re: Attachments integration between Service now and Remedy
LJ LongWingJun 20, 2018 8:37 AM (in response to Suresh Loganathan)
Suresh,
The Entry ID error is likely related to not mapping the Entry ID of the Vendor form with the plugin element for the plugin controlled EntryID, this is necessary for proper utilization.
Regarding the Base64. Through some research I just did I found that the method I'm using in that part of the code is only available to Java 8, in an effort to maintain the Java 7 compatibility I'm trying something slightly different that is supposed to work....please check it out and let me know
-
39. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jul 16, 2018 2:05 AM (in response to LJ LongWing)Hi LJ,
Sorry for the delay response. I have tried below steps to execute the output.
1.Created a sample Regular form.
2. configured the above mentioned form into APL:RestfulVendorForms:Table.
3. Chosen - Create Method - POST and gave the body template as {"agent":"SIAM", "topic":"AttachmentCreator", "name":"Test.txt", "source":"incident:ba9b68a9db7a53803502fd431d96193d","state":"ready"}
4. Specified the URL as https://instancename.service-now.com/ecc_queue.do.
5. Created Field mapping like below:
MyAttachmentElement
ROOT:result:agent
ROOT:result:name
ROOT:result:payload
ROOT:result:source
ROOT:result:state
ROOT:result:topic -- and set as YES to Append to CREATE URL, Append to Set URL
6. Configured basic authentication - User Name and Password.Record Indicator configured as "Root:entries:"
7. Created vendor form with the above entry (from APL:RestfulVendorForms:Table - Sample Regular Form)and Entry ID as a Key Field.
8. Once vendor table created, I trying to create an entry into vendor table then it says an error like below
ARERR [8790] Message not in catalog; Message number = 8790 : Failed : HTTP error code : 200 Method: PUT - OK - URL: https://iag1dev.service-now.com/ecc_queue.do Ie., Here, POSTing the value from Remedy to ServiceNow.
Can you please help me to resolve this issue?
Regards,
Suresh Loganathan.
-
40. Re: Attachments integration between Service now and Remedy
LJ LongWingJul 16, 2018 11:04 AM (in response to Suresh Loganathan)
That's a simple one....you are doing a PUT, which is accepted by the remote location, you can tell because of the 'OK' message, but your PUT is not expecting a 200 it's expecting something else...so, all you need to do is tell that PUT command to expect a 200 response from the remote system and you should be good.
-
41. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jul 17, 2018 7:28 AM (in response to LJ LongWing)Sorry LJ. Little confused. Can you please help me to understand. What i need to do to resolve the issue.
-
42. Re: Attachments integration between Service now and Remedy
LJ LongWingJul 17, 2018 12:07 PM (in response to Suresh Loganathan)
Within your Table record, you specify a method and an expected return result, if you don't specify either, there are defaults.....I assume you are using the default....so, if you are doing a 'CREATE' on your vendor form, you have provided a method for that create...did you specify an expected http return code?...if not, specify 200 because that's what your service is returning.
-
43. Re: Attachments integration between Service now and Remedy
Suresh Loganathan Jul 18, 2018 4:21 AM (in response to LJ LongWing)Thanks LJ. I got your point. PFB. I have used below setp into the form and used the response code as 200 for POST Method. But, 201 code for "CREATE" option from Remedy. I have refered the below link to refer the response code of Remedy. Both (Remedy , Service Now) showing response code as 201 for creation. If I use 200 it doesnt showing an error instead 201.
What do the HTTP results codes in web server logs mean
I have tried to create an entry from Vendor form and attached a test file then clicked a SAVE button.It's allowing to save and tried to see the APLPlugin.log file and ECC queue from Service now. ECC Queue -It doesnt contain a entry and the APLPlugin.log files are showing like below errors.
2018-07-18 10:54:39,861 ERROR [pool-2-thread-4] com.bmc.arsys.pluginsvr.plugins.ARPluginContext (?:?) - <APL.ARDBC.RESTFULARDBCPLUGIN>JsonParseException parsing JSON: Unexpected character ('<' (code 60)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
at [Source: java.io.InputStreamReader@6f194580; line: 1, column: 2]
2018-07-18 10:55:22,536 ERROR [pool-2-thread-3] com.bmc.arsys.pluginsvr.plugins.a (?:?) - setEntry() FAILs in plugin: APL.ARDBC.RESTFULARDBCPLUGIN
java.lang.NullPointerException
at com.apl.RestfulARDBCPlugin.setEntry(RestfulARDBCPlugin.java:1487)
at com.bmc.arsys.pluginsvr.plugins.a.ArdbcSet(Unknown Source)
at com.bmc.arsys.pluginsvr.a.ArEsArdbcSet_5(Unknown Source)
at com.bmc.arsys.pluginsvr.a.ArEsArdbcSet_4(Unknown Source)
at com.bmc.arsys.arrpc.ARPluginServerDispatcher.dispatchOncRpcCall(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler.dispatchCall(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler.if(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler.processRpcCall(Unknown Source)
at com.bmc.arsys.arrpc.nio.ArRpcCallHandler$Processor.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
If possible can we go for web ex depends on your free time. Please confirm.
Regards,
Suresh Loganathan.
-
44. Re: Attachments integration between Service now and Remedy
LJ LongWingJul 18, 2018 2:25 PM (in response to Suresh Loganathan)
Ok...there are a few problems here....you say you are doing a create....but the log is showing an error in the 'setEntry' method, which is not a create, but a modify of an existing record....so, the log snipit you are providing isn't from the create. Additionally, your table is showing that you are using JSON, but the error is
Unexpected character ('<'
So....that setField is expecting something JSON, but looks like it might be getting XML?...and I don't see that you have a SET method defined, so it'll use a default, and I see you don't have a body defined....so, what you are saying is happening is not what your log is showing....so you need to figure out where that set is taking place from.