June 27

Action Request System (ARS) Remedy is one of the more popular helpdesk systems. With ARS serves only as a container for helpdesk applications, like us and the entire ITIL standard (incedent, problem, change, config and cmdb) can portray.
An advantage is the very well-documented Java interface, which in turn is based on the C API. The interface for all operations with the AR server are possible.

Access to a record of a form as is possible as follows:

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 
  - oo. ar . samples ; package de k - oo ar samples.,..

 ; com.remedy.arsys.api.ARException import;
 ; com.remedy.arsys.api.ARServerUser import;
 ; com.remedy.arsys.api.Entry import;
 ; com.remedy.arsys.api.EntryCriteria import;
 ; com.remedy.arsys.api.EntryFactory import;
 ; com.remedy.arsys.api.EntryID import;
 ; com.remedy.arsys.api.EntryItem import;
 ; com.remedy.arsys.api.EntryKey import;
 ; com.remedy.arsys.api.EntryListFieldInfo import;
 ; com.remedy.arsys.api.FieldID import;
 ; com.remedy.arsys.api.NameID import;
 ; com.remedy.arsys.api.Util import;

 public class Entry {Info
    main ( String [ ] args ) { public static void main (String [] args) {
       ARServerUser ( "user" , "password" , "" , "server" ) ; ARServerUser ARServerUser context = new ("user", "password", "", "server");

       try {
          / / Set the TCP port on which the server listens AR (ie without port mapping)
          ( context, new NameID ( context. getServer ( ) ) , 11111 , 0 ) ; . Util ARSetServerPort (context, new NameID (context. getServer ()), 11111, 0);

          / / Create an entry factory objects for access to records
          ( ) ; Entry entry Factory factory = Factory GetFactory Entry ().;

          / / Define the criteria for the form name and the record ID
          EntryKey ( new NameID ( "formularname" ) , EntryKey entryKey EntryKey = new (new NameID ("form-name"),
                "200928" ) ) ; new EntryID ("200928"));

          / / Set the form field whose data is to be determined
          EntryListFieldInfo ( new FieldID ( 1 ) ) ; Entry List fi1 = new FieldInfo FieldInfo Entry List (new FieldID (1));
          EntryListFieldInfo ( new FieldID ( 2 ) ) ; Entry List fi2 = new FieldInfo FieldInfo Entry List (new FieldID (2));
          new EntryListFieldInfo [ 2 ] ; Entry List FieldInfo [] entry = new Entry List fieldList FieldInfo [2];
          ] = fi1 ; entry field list [0] = fi1;
          ] = fi2 ; entry field list [1] = fi2;

          EntryCriteria ( ) ; Entry Criteria criteria = new Entry Criteria ();

          entryFieldList ) ; setEntryListFieldInfo criteria (entry field list).;

          / / Search for the record
          ( context, entryKey, criteria ) ; Entry = entry findByKey factory (context, entryKey, criteria).;
          . println ( "Verbindung erfolgreich hergestellt." ) ; .. System.out.println ("Connection succeeded.");

          / / Output
          entry. getEntryItems ( ) ; EntryItem [] items = entry getEntryItems ().;
          int i = 0 ; i < items. length ; i ++ ) { for (int i = 0; i <length items,. i + +) {
             i ] ; EntryItem item = items [i];
             . println ( "<c" + item. getFieldID ( ) + ">" Systems. Out. Println ("+ <c" item. getFieldID () + ">"
                   ( ) + "</c" + item. getFieldID ( ) + ">" ) ; + Item getValue () + "</ c" + item getFieldID () +. ">").;
          }
       }

       ARException e ) { catch (e ARException) {
          ; e describe ();
          ; e printStackTrace ();
       }

       finally {
          ; context clear ().;
       }
    }
 } 

Installation

The Java API is based on the C API, need also be available to the Java archives (*. Jar) and the C libraries. This is of course different for Windows and Unix (eg Solaris). And that's not all. The C API requires as IBM's open source releases for the internationalization of additional C libraries here are made ​​available.

Windows installation

In Windows, it meets the path to the C libraries (see below) with the path variable record. which can be either
Computer-> Properties-> Advanced-> Environment Variables
or via the command line
set PATH =% PATH%: pfad_zur_anwendung \ lib \ winnt
. do The following Java and C libraries archives should be available:

./lib: total 644 -rwx------+ 1 gklinkmann Kein 300825 Jul 4 2005 arapi63.jar -rwx------+ 1 gklinkmann Kein 18976 Jul 4 2005 armapi63.jar -rwx------+ 1 gklinkmann Kein 907 Jul 4 2005 arutil63.jar -rwx------+ 1 gklinkmann Kein 329931 Jul 4 2005 emaildae.jar drwx------+ 2 gklinkmann Kein 0 Jun 22 14:05 solaris drwx------+ 2 gklinkmann Kein 0 Jun 27 09:16 winnt ./lib/winnt: total 12936 -rwx------+ 1 gklinkmann Kein 1028096 Jul 4 2005 arapi63.dll -rwx------+ 1 gklinkmann Kein 634880 Jul 4 2005 arjni63.dll -rwx------+ 1 gklinkmann Kein 102400 Jul 4 2005 armapi63.dll -rwx------+ 1 gklinkmann Kein 77824 Jul 4 2005 arrpc63.dll -rwx------+ 1 gklinkmann Kein 180224 Jul 4 2005 arutiljn.dll -rwx------+ 1 gklinkmann Kein 114688 Jul 4 2005 arutl63.dll -rwx------+ 1 gklinkmann Kein 897024 Jul 4 2005 arxmluti.dll -rwx------+ 1 gklinkmann Kein 8237056 Jan 29 2004 icudt28l.dll -rwx------+ 1 gklinkmann Kein 655360 Jan 29 2004 icuin28.dll -rwx------+ 1 gklinkmann Kein 31744 Jan 29 2004 icuio28.dll -rwx------+ 1 gklinkmann Kein 90112 Jan 29 2004 icule28.dll -rwx------+ 1 gklinkmann Kein 77824 Jan 29 2004 iculx28.dll -rwx------+ 1 gklinkmann Kein 53248 Jan 29 2004 icutu28.dll -rwx------+ 1 gklinkmann Kein 585728 Jan 29 2004 icuuc28.dll -rwx------+ 1 gklinkmann Kein 475190 Jul 4 2005 rcmn63.dll 

Solaris installation

On Solaris, the LD_LIBRARY_PATH to be adjusted. A script that executes the Java code could look like this:

  A
 2
 3
 4
 5
 6
 7
 8
 9
  # / Bin / bash
 export / home / ar / test-arapi- 0.1 HOME = / export / home / ar / test Arapi-0.1

 usr / bin / java JAVA = / usr / bin / java

 = ${LD_LIBRARY_PATH} : ${HOME} / lib / solaris export LD_LIBRARY_PATH = $ {LD_LIBRARY_PATH}: $ {HOME} / lib / solaris

 cd $ HOME
 ${CLASSPATH} de.k-oo.ar.samples.EntryInfo $ {JAVA} $ {CLASSPATH}-cp-de.k oo.ar.samples.EntryInfo 

Where the actual class EntryInfo within the Java archive test-arapi.jar is.
C. The following libraries should be available for Solaris:

 lib/solaris: total 104430 -rw-r--r-- 1 ar other 300825 Jun 22 14:06 arapi63.jar -rw-r--r-- 1 ar other 907 Jun 22 14:06 arutil63.jar -rw-r--r-- 1 ar other 329931 Jun 22 14:06 emaildae.jar -rw-r--r-- 1 ar other 861 Jun 22 14:06 jlicapi6.jar -rw-r--r-- 1 ar other 3961476 Jun 22 14:06 libar.a -rw-r--r-- 1 ar other 2577060 Jun 22 14:06 libar.so -rw-r--r-- 1 ar other 4437860 Jun 22 14:06 libarjni.so -rw-r--r-- 1 ar other 574860 Jun 22 14:06 libaruti.so -rw-r--r-- 1 ar other 5619504 Jun 22 14:06 libarxml.so -rw-r--r-- 1 ar other 8512204 Jun 26 14:04 libicudata28.so -rw-r--r-- 1 ar other 8512204 Jun 26 14:04 libicudata28.so.28 -rw-r--r-- 1 ar other 8512204 Jun 26 14:04 libicudata28.so.28.0 -rw-r--r-- 1 ar other 1400432 Jun 26 14:04 libicui18n28.so -rw-r--r-- 1 ar other 1400432 Jun 26 14:04 libicui18n28.so.28 -rw-r--r-- 1 ar other 1400432 Jun 26 14:04 libicui18n28.so.28.0 -rw-r--r-- 1 ar other 90912 Jun 26 14:04 libicuio28.so -rw-r--r-- 1 ar other 90912 Jun 26 14:04 libicuio28.so.28 -rw-r--r-- 1 ar other 90912 Jun 26 14:04 libicuio28.so.28.0 -rw-r--r-- 1 ar other 274516 Jun 26 14:04 libicule28.so -rw-r--r-- 1 ar other 274516 Jun 26 14:04 libicule28.so.28 -rw-r--r-- 1 ar other 274516 Jun 26 14:04 libicule28.so.28.0 -rw-r--r-- 1 ar other 51700 Jun 26 14:04 libiculx28.so -rw-r--r-- 1 ar other 51700 Jun 26 14:04 libiculx28.so.28 -rw-r--r-- 1 ar other 51700 Jun 26 14:04 libiculx28.so.28.0 -rw-r--r-- 1 ar other 92356 Jun 26 14:04 libicutoolutil28.so -rw-r--r-- 1 ar other 92356 Jun 26 14:04 libicutoolutil28.so.28 -rw-r--r-- 1 ar other 92356 Jun 26 14:04 libicutoolutil28.so.28.0 -rw-r--r-- 1 ar other 1303916 Jun 26 14:04 libicuuc28.so -rw-r--r-- 1 ar other 1303916 Jun 26 14:04 libicuuc28.so.28 -rw-r--r-- 1 ar other 1303916 Jun 26 14:04 libicuuc28.so.28.0 -rw-r--r-- 1 ar other 236604 Jun 22 14:06 libjlica.so 

gklinkmann written by \ \ tags: ,

5 Comments to "ARS 6.3 - Java API"

  1. Anish Says:

    Can you tell me the the link of the English version of this site

    Thanx in advance,
    Anish

  2. Sung Gun Lee Says:

    Hi. My name is sung lee gun, who live in South Korea.
    I think you succeed to interface with Remedy ARS on Solaris.

    I already succeed to interface with Remedy ARS 6.3 on Windows XP system.
    I got so many website library files for Windows XP from BMC.

    I have to interface with Remedy ARS 3.6 on Solaris SPARC system Ver 10th
    But, I do not have library files for interfacing.

    Please send me files to library above for Solaris SPARC.
    examined as
    libarutil.so
    libarxml.so
    libicu *. Sun
    * libicu. so.28
    * libicu. so.28.o

  3. gklinkmann Says:

    The libraries for internationalization libicuio28.so etc. can be found at: ftp://ftp.software.ibm.com/software/globalization/icu/2.8/

    Current AR libraries for Solaris you get in arswiki at:
    http://www.arswiki.org/wiki/Remedy_API_Downloads

  4. Albert Says:

    Hello,
    is in your program in lines 32 and 33
    FieldID new ... (1) and new ... FieldID (2).
    Is there an overview of the FielIDs and what they mean
    maybe a link?
    Thank you,
    Albert

  5. gklinkmann Says:

    @ Albert:
    An Overview of the Field ID's can be procured in several ways:

    Can retrieve 1) When is it a Windows client AR aradmin program that lets you not only can create forms, but also all information about the AR Server, including the IDs for the fields

    2) the freeware ARInside that generates documentation for all AR objects in HTML format. The current version can
    here to download.

    3) Direct access to the database server is based on the AR. The starting point for research into the table ARSchema of the details is to be stored on the forms.

Add a comment

Yes, I would like to be notified about comments!