vOKOsCOM  5.2.0.23890
Komunikační modul vOKOsCom

Komunikační modul je komponenta s .NET a ActiveX/COM rozhraním. Je možné ji použít ve všech aplikacích které mohou připojit některý z těchto typů komponent. Modul vOKOsCom obsahuje komunikační třídu Com, pomocnou třídu HelperClass a dále konfigurační třídy Configuration, CommunicateConfiguration, CommunicateSConfiguration, SendConfiguration a ProxyConfiguration. Jako návratový objekt metod v modulu je použita třída Response. Detailní popis tříd je popsán v *seznamu tříd*.

Změny v rozhraní

Návratové kódy

Všechny metody komunikačního modulu vracejí návratový kód (vOKOsCom.Response.ExC), text chyby (vOKOsCom.Response.ExT). Pokud volání proběhlo úspěšně (návratový kód je roven 0), vrací se i výstupní XML (vOKOsCom.Response.resp).

Rozlišení přijaté a nepřijaté zprávy u ZOK

V případě že nenastane žádná chyba v komunikaci a je vráceno XML je u zpráv, které jsou podáním třeba provést rozlišení zda zpráva byla nebo nebyla přijata elektronickou podatelnou. Toto se provede vyhodnocením odpovědi (např. pomocí xpath). Kladná odpověď obsahuje element vOKO:Response/vOKO:DataResponse/EPO:RESPONSE kdežto zamítavá odpověď obsahuje: vOKO:Response/vOKO:DataResponse/EPO:ERROR. Přičemž v elementu vOKO:Response/vOKO:DataResponse/EPO:ERROR/EPO:ResRecord/EPO:ERRINFO lze nalézt bližší informaci o důvodu zamítnutí.

Ukázky kódu

Vytvoření instance ActiveX objektu v JavaScriptu:

try
{
// Vytvoří instanci vOKOsCom.Com
var objekt = new ActiveXObject("vOKOsCom.Com");
// Helper slouží pouze pro Base64 zakódování.
// Pokud nevytváříte dotaz sám nebo nepřikládáte soubory, tak není potřeba.
var helper = new ActiveXObject("vOKOsCom.HelperClass");
}
catch(ex)
{
alert("Chyba: nepodařilo se vytvořit instanci knihovny, není pravdědobně zaregistrovaná.\nActiveX prvky stránky nebudou funkční.\nDetail: "+ex.description)
}

Příklad volání metody Comunicate v C#:

vOKOsCom.Com pdsCom = new vOKOsCom.Com();
string vstup = docXml.OuterXml;
//Inicializace promennych, ktere se naplni po volani metody Comunicate
string chybaCode = null;
string chybaString = null;
string vystup = null;
vystup = pdsCom.Comunicate(URL, ref vstup, null, null, "XSL", 0, null, null, null, null, "SOW", 0, "SR_MZe", "SHA512HASH", false, true, "N",null,null, null, "text/xsl", null, ref chybaCode, ref chybaString);

Přiklad volání nové metody Communicate v C#

vOKOsCom.Com pdsCom = new vOKOsCom.Com();
string file = new HelperClass().b64encode("C:\\pds\\test.pdf");
// Nastaveni konfigurace: tzn. inicializace objektu CommunicateConfiguration
CommunicateConfiguration conf = new CommunicateConfiguration()
{
SrvUrl = "http://localhost:49207/responser.ashx",
AppendTimeStamp = true,
TimeStampUrl = "http://timestamping.edelweb.fr/service/tsp",
DoNotShowXmlTxt = true
};
// Inicializace vstupního XML řetězce
string o1 = "<tns:ReceiveSignedPdf xmlns:tns=\"Documents\"><tns:typ>AAA</tns:typ><tns:guid>aaa</tns:guid>";
o1 += "<tns:pdfInBase64>" + file + "</tns:pdfInBase64>";
o1 += "<tns:otisk>asdfg</tns:otisk><tns:datumNabytiPM>14.5.2011.</tns:datumNabytiPM><tns:datumVlozeniDolozky>15.6.2011</tns:datumVlozeniDolozky><tns:osoba>Ing. Petr Pink</tns:osoba></tns:ReceiveSignedPdf>";
// Volání Communicate, výstupem je Response třída s odpovědí, popř. chybovou hláškou
Response resp = pdsCom.Communicate(conf, o1);
PDS s.r.o. © PDS s.r.o. 2016, verze 5.2.0.23890