27 de junio

Action Request System (ARS) es uno de los más conocidos del Remedio sistema de Helpdesk. Con ARS sólo sirve como un contenedor para las aplicaciones de escritorio de ayuda, como nosotros también la incedent completa ITIL estándar (se pueden problemas, cambios, configuración y el mapa CMDB).
Uno de los beneficios es la bien documentada interfaz de Java, que a su vez se basa en la API de C. Todas las operaciones en la interfaz con el servidor de AR es posible.

El acceso a un registro de un formulario es posible de la siguiente manera:

  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 ; import 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 ; public class EntryInfo { public static void main ( String [ ] args ) { ARServerUser context = new ARServerUser ( "user" , "password" , "" , "server" ) ; try { // setzen des TCP Ports, auf dem der AR Server hört (also ohne portmapping) Util . ARSetServerPort ( context, new NameID ( context. getServer ( ) ) , 11111 , 0 ) ; // erstellen eines entry factory objects für den Zugriff auf Datensätze EntryFactory entryFactory = EntryFactory. getFactory ( ) ; // festlegen der Kriterien für den Formularnamen und der Datensatz ID EntryKey entryKey = new EntryKey ( new NameID ( "formularname" ) , new EntryID ( "200928" ) ) ; // festlegen der Formularfelder, deren Daten ermittelt werden sollen EntryListFieldInfo fi1 = new EntryListFieldInfo ( new FieldID ( 1 ) ) ; EntryListFieldInfo fi2 = new EntryListFieldInfo ( new FieldID ( 2 ) ) ; EntryListFieldInfo [ ] entryFieldList = new EntryListFieldInfo [ 2 ] ; entryFieldList [ 0 ] = fi1 ; entryFieldList [ 1 ] = fi2 ; EntryCriteria criteria = new EntryCriteria ( ) ; criteria. setEntryListFieldInfo ( entryFieldList ) ; // suchen nach dem Datensatz Entry entry = entryFactory. findByKey ( context, entryKey, criteria ) ; System . out . println ( "Verbindung erfolgreich hergestellt." ) ; // Ausgabe EntryItem [ ] items = entry. getEntryItems ( ) ; for ( int i = 0 ; i < items. length ; i ++ ) { EntryItem item = items [ i ] ; System . out . println ( "<c" + item. getFieldID ( ) + ">" + item. getValue ( ) + "</c" + item. getFieldID ( ) + ">" ) ; } } catch ( ARException e ) { e. describe ( ) ; e. printStackTrace ( ) ; } finally { context. clear ( ) ; } } } paquete de. k - oo. ar. muestras; com.remedy.arsys.api.ARException importación; com.remedy.arsys.api.ARServerUser importación; com.remedy.arsys.api.Entry importación; com.remedy.arsys importación . api.EntryCriteria;; com.remedy.arsys.api.EntryFactory importación com.remedy.arsys.api.EntryID; importación; com.remedy.arsys.api.EntryItem importación; com.remedy.arsys.api.EntryKey importación importación com.remedy.arsys.api.EntryListFieldInfo; importación com.remedy.arsys.api.FieldID; importación com.remedy.arsys.api.NameID; importación com.remedy.arsys.api.Util pública entrada de la clase (public static void Información principal (String [] args) (= nuevo contexto ARServerUser ARServerUser ("usuario", "contraseña", "", "servidor"); try (/ / establecer el puerto TCP en el que se detiene el servidor de AR (sin asignación de puertos) Util. ARSetServerPort (contexto, NameID nuevo (context. getServer ()), 11111, 0) / / crear una fábrica de objetos de entrada para acceder a la entrada de fábrica Fábrica de entrada de datos de entrada de fábrica =. GetFactory (), establecer los criterios para la forma del nombre y el ID de registro entryKey EntryKey = nueva EntryKey (nuevo NameID ("nombre de formulario"), los nuevos EntryID ("200 928")); / conjunto / de los campos de formulario cuyos datos se han de determinar EntryListFieldInfo fi1 = nueva EntryListFieldInfo (FieldID nuevo (1)) ; EntryListFieldInfo Fi2 = nueva EntryListFieldInfo (FieldID nuevos (2)); [] entryFieldList EntryListFieldInfo = nueva EntryListFieldInfo [2]; entryFieldList [0] = fi1; entryFieldList [1] = fi2; Entrada criterios Criterios = nuevos criterios de entrada (); criterios. setEntryListFieldInfo (entryFieldList) / / búsqueda de la entrada de registro de entrada de fábrica =. findByKey (contexto, entryKey, criterios), Sistema. cabo. ("Conexión realizado con éxito println."); / / salida EntryItem [] = puntos de entrada. getEntryItems ( ) for (int i = 0; i <artículos. longitud; i + +) (tema EntryItem = elementos [i]; sistema. salir. println ("<c" ref. + + GetFieldID () ">" elemento + . getValue () + "</ c" del artículo más. GetFieldID () + ">");)) captura (ARException e) (describir e. () e. printStackTrace ();) finalmente (context. clear () ;))) 

Instalación

La API de Java se basa en la API de C, por lo tanto debe, además de la jarra de archivos Java (*.) y las bibliotecas de C a estar disponible. Esto es por supuesto diferentes para Windows y Unix (por ejemplo, Solaris). Y eso no es todo. La API de C requiere las bibliotecas de C utilizado por IBM como de código abierto para una mayor internacionalización de los mensajes que aquí se ponen a disposición de la.

La instalación en Windows

En Windows, éste cumple la ruta de acceso a las bibliotecas de C (ver más abajo) con la variable PATH para incluir. que puede ser
-> Propiedades-> Medio Ambiente-> Advanced Computer Variables
oa través de la línea de comandos
PATH =% PATH%: pfad_zur_anwendung lib \ winnt \
. No Los siguientes archivos y bibliotecas Java C deben estar disponibles:

./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 

La instalación de Solaris

En Solaris, el LD_LIBRARY_PATH que las modifique. Un script que se ejecuta el código Java puede verse como esto:

  1
 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
 test-arapi.jar:lib / solaris / arapi63.jar:lib / solaris / jlicapi6.jar:lib / solaris / arutil63.jar CLASSPATH =.: frascos / test-arapi.jar: lib / solaris / arapi63.jar: lib / solaris / jlicapi6.jar: lib / solaris / arutil63.jar
 usr / bin / java JAVA = / usr / bin / java

 = ${LD_LIBRARY_PATH} : ${HOME} / lib / solaris exportación LD_LIBRARY_PATH = $ (LD_LIBRARY_PATH): $ (HOME) / lib / solaris

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

Por la cual real de las clases EntryInfo dentro del archivo de Java test-arapi.jar es.
Las bibliotecas de C siguiente debe estar disponible en 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 
Agregar a favoritos:
  • Digg
  • del.icio.us
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • Technorati
  • Google Bookmarks

artículos similares:

Publicado por gklinkmann \ \ tags: ,

5 Comentarios en "ARS 6.3 - Java API"

  1. Anish dice:

    me puedes decir el enlace de la versión en Inglés de este sitio

    Gracias de antemano,
    Anish

  2. Pistola Lee Sung dice:

    Hola. Mi nombre es cantado arma Lee, quien vive en Corea del Sur.
    Creo que usted tenga éxito a la interfaz con ARS Remedy en Solaris.

    Ya éxito para interactuar con ARS Remedy 6,3 Sistema en Windows XP.
    Tengo tantos archivos del sitio web de biblioteca para Windows XP de BMC.

    Tengo que interactuar con ARS Remedy 6.3 del sistema en Solaris SPARC Ver décimo
    Pero, no tengo archivos de la biblioteca para la interfaz.

    Por favor, envíenme a los archivos de biblioteca, arriba, para Solaris SPARC.
    tal como
    libarutil.so
    libarxml.so
    libicu *. so
    libicu *. so.28
    libicu *. so.28.o

  3. gklinkmann dice:

    Las bibliotecas para la internacionalización libicuio28.so etc se puede encontrar en: ftp://ftp.software.ibm.com/software/globalization/icu/2.8/

    bibliotecas actual AR para Solaris te metes en arswiki en:
    http://www.arswiki.org/wiki/Remedy_API_Downloads

  4. Albert dice:

    ¡Hola!
    está en su programa en las líneas 32 y 33
    ... Nueva FieldID (1) y nuevos ... FieldID (2).
    ¿Hay una visión general de la FielIDs y lo que significan
    tal vez un vínculo?
    Gracias,
    Albert

  5. gklinkmann dice:

    Albert @:
    Una visión general de la identificación de campo te puede dar de varias maneras:

    pueden llamar al primero) es cuando un cliente está de programas de Windows aradmin AR que no sólo puede crear formas, sino también toda la información sobre el servidor de AR, incluyendo los ID's para los campos

    2) el freeware ARInside que genera una documentación de todos los objetos de AR en formato HTML. La versión actual puede
    aquí se descargan.

    3) Acceso directo a la base de datos que el servidor de AR se basa. El punto de partida para la búsqueda, la tabla ARSchema en los detalles se almacena en los formularios.

Comentario

Sí, quiero ser notificado de comentarios!