# Webová služba ApplicationWrite verze 2.0.0 (Obecné webové služby) - popis rozhraní služby

Marbes Consulting s.r.o.

EOS4

Vygenerováno z verze 4.21.0.19.0.

Podmínky omezující zveřejnění

Autorem tohoto dokumentu je společnost MARBES CONSULTING s.r.o. Dokument obsahuje informace důvěrného charakteru a ve smyslu definice autorského práva (viz § 2, odst. 1 Zákona č. 121/2000 Sb., zákon o právu autorském) je duševním vlastnictvím autora a předmětem práva autorského. Dokument smí být použit výhradně za účelem, za kterým byl poskytnut a nesmí být bez předchozího souhlasu autora citován, kopírován, vytěžován1 nebo předán třetí fyzické či právnické osobě.

© 2009 MARBES CONSULTING s.r.o.

1 Vytěžováním se podle zákona č. 121/2000 Sb. rozumí trvalý nebo dočasný přepis celého obsahu nebo jeho podstatné části na jiný podklad, a to jakýmikoli prostředky nebo jakýmkoli způsobem.

## Obsah

- Obecné informace
- Seznam poskytovaných metod
- Seznam struktur dat
- Výjimky
- Popis poskytovaných metod
- Popis struktur dat

## Obecné informace

Rozhraní webové služby pro zápis informací o aplikacích.

## Seznam poskytovaných metod

Název | Popis
--- | ---
synchApplication | Synchronizuje aplikaci a její atributy podle předaného vzoru.
synchApplicationBasicValues | Synchronizuje aplikaci podle předaného vzoru.

## Seznam struktur dat

Název | Popis
--- | ---
EosApplication | Reprezentuje aplikaci.
EosApplicationExtended | Reprezentuje aplikaci s rozšířením o formátovaný popis.
EosAttributes | Reprezentuje wrapper pro kolekci různých atributů.
EosBooleanAttribute | Reprezentuje boolean atribut.
EosDatabaseType | Výčet typů databázových serverů.
EosDbConnection | Reprezentuje databázové připojení.
EosEnumAttribute | Reprezentuje výčtový atribut.
EosIdentifier | Reprezentuje identifikátor webového objektu slučující interní a externí ID.
EosRangeValue | Reprezentuje hodnotu oboru hodnot výčtového atributu.
EosRangeValues | Reprezentuje wrapper pro obor hodnot enum atributu.
EosSelectAttribute | Reprezentuje selektový atribut.
EosStringAttribute | Reprezentuje stringový atribut.
EosWsAttribute | Reprezentuje WS atribut.

## Výjimky

### EosInvalidParameterException

Vyjímka reprezentuje špatný vstupní parametr do web metod.

### EosObjectNotFoundException

Výjimka reprezentuje stav, kdy nebyl objekt podle kriterií nalezen.

### EosUnexpectedException

Reprezentuje neočekávanou výjimku při volání WS. Jejím zdrojem musí být vždy jiná výjimka.

### EosValidationException

Výjimka reprezentuje stav, kdy došlo k problému při validaci organizační struktury.

## Popis poskytovaných metod

### synchApplication

Synchronizuje aplikaci a její atributy podle předaného vzoru.

Aplikace je v případě její neexistence založena, ale jen v případě, že není vyplněn `eos-identifier` v aplikaci. V případě jeho vyplnění a neexistence aplikace je vyhozena výjimka.

Aplikace je dohledávána primárně podle `eos-identifier`. Pokud není vyplněn, hledá se podle `external-id`. Atributy jsou hledány podle jména.

Upozornění! Vždy je nutné poslat kompletní aktuální stav atributů. Přiřazené hodnoty atributů, které nebudou předány, budou smazány společně s atributy.

#### Předpis

EosIdentifier synchApplication (EosApplication application, EosAttributes attributes, String clientId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
application | EosApplication | Ano | synchronizovaná aplikace
attributes | EosAttributes | Ano | atributy náležící předané aplikaci
clientId | String | Ano | identifikátor klienta, je povinný jen při předání externího Id v application

#### Výstup

EosIdentifier - vyplněné ID synchronizované aplikace

#### Výjimky

EosObjectNotFoundException - v případě vyplnění neplatného ID
EosInvalidParameterException - při předání neplatných dat
EosValidationException - zaslaná data nejsou validní, obsahuje detailní popis chyby
EosUnexpectedException - nastala vnitřní chyba EOSu

### synchApplicationBasicValues

Synchronizuje aplikaci podle předaného vzoru.

Aplikace je v případě její neexistence založena, ale jen v případě, že není vyplněn `eos-identifier` v aplikaci. V případě jeho vyplnění a neexistence aplikace je vyhozena výjimka.

Aplikace je dohledávána primárně podle `eos-identifier`. Pokud není vyplněn, hledá se podle `external-id`.

#### Předpis

EosIdentifier synchApplicationBasicValues (EosApplicationExtended application, String clientId)

#### Parametry

Parametr | Typ | Povinný | Popis
--- | --- | --- | ---
application | EosApplicationExtended | Ano | synchronizovaná aplikace
clientId | String | Ano | identifikátor klienta, je povinný jen při předání externího Id v application

#### Výstup

EosIdentifier - vyplněné ID synchronizované aplikace

#### Výjimky

EosObjectNotFoundException - v případě vyplnění neplatného ID
EosInvalidParameterException - při předání neplatných dat
EosValidationException - zaslaná data nejsou validní, obsahuje detailní popis chyby
EosUnexpectedException - nastala vnitřní chyba EOSu

## Popis struktur dat

### EosApplication

Reprezentuje aplikaci. Slouží pro přenos jen "nevirtuálních aplikací".

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
MAX_IMAGE_SIZE | int | Ne | Maximální velikost dat, přenášených jako ikony. Odpovídá maximální velikosti dat DO Image.
name | String (255) | Ano | Jméno aplikace.
parameters | String (256) | Ne | Parametry příkazové řádky.
author | String (127) | Ano | Autor aplikace.
description | String (1024) | Ne | Popis aplikace.
path | String (255) | Ne | Cesta k aplikaci. Kde je fyzicky spustitelný soubor na síti - v případě webové URL.
icon | String (2147483647) | Ne | Kde je uložena na disku nebo v síti ikona aplikace.
appServerName | String (256) | Ne | Jméno aplikačního serveru.
testing | Boolean | Ne | Je aplikace v testovacím režimu?
appCode | String (100) | Ano | Kód aplikace. Zkratka subsystému (RB, ROB...).
serverUrl | String (500) | Ne | URL aplikačního serveru pro webové služby.
version | String (50) | Ne | Verze aplikace.
dbConnection | EosDbConnection | Ne | Databáze přiřazená aplikaci.
guid | String | Ne | GUID aplikaci.

### EosApplicationExtended

Reprezentuje aplikaci s rozšířením o formátovaný popis.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
MAX_IMAGE_SIZE | int | Ne | Maximální velikost dat, přenášených jako ikony. Odpovídá maximální velikosti dat DO Image.
name | String (255) | Ano | Jméno aplikace.
parameters | String (256) | Ne | Parametry příkazové řádky.
author | String (127) | Ano | Autor aplikace.
description | String (1024) | Ne | Popis aplikace.
path | String (255) | Ne | Cesta k aplikaci. Kde je fyzicky spustitelný soubor na síti - v případě webové URL.
icon | String (2147483647) | Ne | Kde je uložena na disku nebo v síti ikona aplikace.
appServerName | String (256) | Ne | Jméno aplikačního serveru.
testing | Boolean | Ne | Je aplikace v testovacím režimu?
appCode | String (100) | Ano | Kód aplikace. Zkratka subsystému (RB, ROB...).
serverUrl | String (500) | Ne | URL aplikačního serveru pro webové služby.
version | String (50) | Ne | Verze aplikace.
dbConnection | EosDbConnection | Ne | Databáze přiřazená aplikaci.
guid | String | Ne | GUID aplikaci.
formattedDescription | String (8388608) | Ne | Podrobný naformátovaný popis aplikace, jedná se o xhtml kód.

### EosAttributes

Reprezentuje wrapper pro kolekci různých atributů.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
booleanAttribute | List<EosBooleanAttribute> | Ne | Kolekce boolean atributů.
enumAttribute | List<EosEnumAttribute> | Ne | Kolekce výčtových atributů.
selectAttribute | List<EosSelectAttribute> | Ne | Kolekce selektových atributů.
stringAttribute | List<EosStringAttribute> | Ne | Kolekce stringových atributů.
wsAttribute | List<EosWsAttribute> | Ne | Kolekce WS atributů.

### EosBooleanAttribute

Reprezentuje boolean atribut.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
name | String (255) | Ano | Jméno atributu.
description | String (2048) | Ne | Popis atributu.
displayName | String (256) | Ano | Zobrazované jméno.
inheritable | Boolean | Ano | Příznak, zda se mají hodnoty atributu dědit.
defaultValue | Boolean | Ano | Výchozí hodnota.
conflictValue | Boolean | Ne | Hodnota, která se má použít, pokud při výpočtu dojde ke konfliktu. Pokud je null je výsledkem false.
guidEos3 | String | Ne | guid pro tridu {@link AttributeEos3} XML elementu `EOS_Atribut`.
guidColumnEos3 | String | Ne | guid pro tridu {@link AttributeColumnEos3} XML elementu `EOS_Sloupec_Atribut`.
guidValueEos3 | String | Ne | Seznam z dvou guid pro tridu {@link AttributeValueEos3} oddelenych pres "|" XML elementu `EOS_Atribut_Hodnota` pro hodnoty "Ano" a "Ne".
guidColumnValueEos3 | String | Ne | Seznam z dvou guid pro tridu {@link ColumnValueEos3} oddelenych pres "|" XML elementu `EOS_Sloupec_Hodnota` pro hodnoty "Ano" a "Ne".

### EosDatabaseType

Výčet typů databázových serverů.

Hodnota | Popis
--- | ---
ORACLE | Oracle DB server.
MSSQL | Microsoft SQL server.
POSTGRESQL | PostgreSQL server.

### EosDbConnection

Reprezentuje databázové připojení.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
name | String (127) | Ano | Název databáze.
dbType | EosDatabaseType | Ano | Typ databázového serveru.
username | String (255) | Ano | Přihlašovací jméno do databáze.
password | String (255) | Ne | Heslo do databáze. Jen pro účel zápisu. Při čtení je vždy nevyplněné.
connectionString | String (1024) | Ano | JDBC connection string.

### EosEnumAttribute

Reprezentuje výčtový atribut.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
name | String (255) | Ano | Jméno atributu.
description | String (2048) | Ne | Popis atributu.
displayName | String (256) | Ano | Zobrazované jméno.
inheritable | Boolean | Ano | Příznak, zda se mají hodnoty atributu dědit.
validClass | String (512) | Ne | Hodnoty atributu mohou nabývat pouze hodnot z oboru, jejichž typ odpovídá tomuto regulárnímu výrazu. Pokud je null není filtrování uplatněno.
defaultValue | String (512) | Ne | Výchozí hodnota výčtového atributu.
singleValue | Boolean | Ano | Pokud je true, atribut nese právě 1 hodnotu, jinak je vícehodnotový.
rangeValues | EosRangeValues | Ano | Výčet hodnot.
guidEos3 | String | Ne | guid pro tridu {@link AttributeEos3} XML elementu `EOS_Atribut`.
guidColumnEos3 | String | Ne | guid pro tridu {@link AttributeColumnEos3} XML elementu `EOS_Sloupec_Atribut`.

### EosIdentifier

Reprezentuje identifikátor webového objektu slučující interní a externí ID.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
externalId | String (255) | Ne | Id entity v externím systému.
eosIdentifier | String (255) | Ne | Unikátní identifikátor entity v EOSu (v rámci konkrétního potomka entity, tedy např. organizační role), při importu do EOSu nemá význam.

### EosRangeValue

Reprezentuje hodnotu oboru hodnot výčtového atributu.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
content | String (512) | Ano | Samotná hodnota atributu.
comment | String (512) | Ne | Komentář hodnoty atributu.
weight | Integer | Ano | Určuje váhu hodnoty atributu.
guidValueEos3 | String | Ne | guid pro tridu {@link AttributeValueEos3} XML elementu `EOS_Atribut_Hodnota`.
guidColumnValueEos3 | String | Ne | guid pro tridu {@link ColumnValueEos3} XML elementu `EOS_Sloupec_Hodnota`.

### EosRangeValues

Reprezentuje wrapper pro obor hodnot enum atributu.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
value | List<EosRangeValue> | Ne | Kolekce hodnot oboru.

### EosSelectAttribute

Reprezentuje selektový atribut.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
name | String (255) | Ano | Jméno atributu.
description | String (2048) | Ne | Popis atributu.
displayName | String (256) | Ano | Zobrazované jméno.
inheritable | Boolean | Ano | Příznak, zda se mají hodnoty atributu dědit.
validClass | String (512) | Ne | Hodnoty atributu mohou nabývat pouze hodnot z oboru, jejichž typ odpovídá tomuto regulárnímu výrazu. Pokud je null není filtrování uplatněno.
sqlCommand | String (4000) | Ano | Select příkaz pro dotaz do číselníku. Pro atributy, jejichž hodnoty odpovídají řádkům z číselníku. (SQL výsledku).
sqlColumn | String (32) | Ano | Jméno sloupce z SQL dotazu (sqlCommand), který se má vzít jako obor hodnot.
sqlKeyColumn | String (256) | Ano | Jméno sloupce z SQL dotazu (sqlCommand), který obsahuje jednoznačnou identifikaci (ID) hodnot.
sqlTreeKey | String (256) | Ne | Jméno sloupce z SQL dotazu (sqlCommand), který obsahuje klíč pro vázání hodnot do stromu. Pro nestromové atributy nemá význam.
sqlTreeParent | String (256) | Ne | Jméno sloupce z SQL dotazu (sqlCommand), který obsahuje klíč rodiče pro vázání hodnot do stromu. Pro nestromové atributy nemá význam.
sqlClass | String (32) | Ne | Jméno sloupce z SQL dotazu (sqlCommand), který obsahuje třídu (typ dané hodnoty). Pokud je null, není brán v potaz.
sqlDescription | String (32) | Ne | Název sloupce pro popis hodnoty.
dbConnection | EosDbConnection | Ne | Připojení k databázi.
guidEos3 | String | Ne | guid pro tridu {@link AttributeEos3} XML elementu `EOS_Atribut`.
guidColumnEos3 | String | Ne | guid pro tridu {@link AttributeColumnEos3} XML elementu `EOS_Sloupec_Atribut`.

### EosStringAttribute

Reprezentuje stringový atribut.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
name | String (255) | Ano | Jméno atributu.
description | String (2048) | Ne | Popis atributu.
displayName | String (256) | Ano | Zobrazované jméno.
inheritable | Boolean | Ano | Příznak, zda se mají hodnoty atributu dědit.
regExp | String (512) | Ne | Regulární výraz, jemuž musí odpovídat nastavovaná hodnota. Pokud je null validace se neprovádí.
regExpDescription | String (256) | Ne | Komentář regulárního výrazu - zobrazuje se uživateli.
defaultValue | String (512) | Ne | Výchozí hodnota atributu.
singleValue | Boolean | Ano | Pokud je true, atribut nese právě 1 hodnotu, jinak je vícehodnotový.
conflictValue | String (512) | Ne | Hodnota, která se má použít, pokud při výpočtu dojde ke konfliktu.

### EosWsAttribute

Reprezentuje WS atribut.

Jméno atributu | Datový typ | Povinné | Popis
--- | --- | --- | ---
id | EosIdentifier | Ano | Identifikátor.
name | String (255) | Ano | Jméno atributu.
description | String (2048) | Ne | Popis atributu.
displayName | String (256) | Ano | Zobrazované jméno.
inheritable | Boolean | Ano | Příznak, zda se mají hodnoty atributu dědit.
validClass | String (512) | Ne | Hodnoty atributu mohou nabývat pouze hodnot z oboru, jejichž typ odpovídá tomuto regulárnímu výrazu. Pokud je null není filtrování uplatněno.
url | String (255) | Ne | URL webové služby, ze které bude načítán obor hodnot.
username | String (255) | Ne | Uživatelské jméno.
password | String (255) | Ne | Uživatelské jméno.
treeAttribute | Boolean | Ne | Uživatelské jméno.
urlRelative | Boolean | Ne | Uživatelské jméno.
script | String (32768) | Ne | Skript pro načtení hodnot z WS.
additionScript | String (32768) | Ne | DOdatečný skript pro načtení plochého seznamu hodnot u stromového atributu .