Dobrý den,
náš vývojář narazil na zásadní rozdíl mezi odpovědí webové služby dmInfoWebService produkčního a nového testovacího prostředí.
Jedná se o volání metody: InfoWebService.GetListOfReceivedMessages(tin);
V produkčním prostředí vždy dostane v odpovědi objekt naplněný podle očekávání, avšak v novém testovacím prostředí obdrží hodnoty null (tedy není prázdný, v případě, že ve schránce žádná zpráva dosud není).
Zde prosím příklad:
tListOfMessOutput lo = null;
lo = InfoWebService.GetListOfReceivedMessages(tin);
Na produkci má "lo" naplněno dmStatusem s těmito hodnotami (dmStatusCode = "0000", dmStatusMessage = "Provedeno úspěšně.").
V novém testovacím prostředí není dmStatus naplněn, je null.
Dále na produkci:
dmRecords = {tRecordsArray}
V novém testu:
dmRecords = null
Můžete prosím vysvětlit tyto rozdíly? Jedná se o chybu/vlastnost nového testu?
--
Zdeněk Bohdanecký
P.S. Omlouvám se za případné nepřesnosti, jen tlumočím řeč našeho vývojáře, který sem přístup zatím nemá.
16.1 Re: Rozdíly mezi novým testem a produkcí?
admin 23.01.2017 08:58Dobrý den.
Správná odpověď s prázdným seznamem zpráv v obou prostředích je:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body>
<q:GetListOfReceivedMessagesResponse xmlns:q="http://isds.czechpoint.cz/v20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<q:dmRecords/>
<q:dmStatus>
<q:dmStatusCode>0000</q:dmStatusCode>
<q:dmStatusMessage>Provedeno úspěšně.</q:dmStatusMessage>
</q:dmStatus>
</q:GetListOfReceivedMessagesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Jiná za normálních okolností nastat nemůže.
Pokud se vrátil null (tedy nevrátilo nic), vypadá to na spíš na nějaký obecnější problém v komunikaci - aplikační server vůbec zřejmě nezpracoval požadavek.
Je-li to opakovatelné, napište mi prosím na email v profilu (nebo sem) podrobnosti (schránka, přesný tvar requestu, přesný čas provedení) a my najdeme v logu, co se děje.
K otázce, čím se liší TEST od PRODUKCE: kromě toho, že TEST má mnohem jednodušší infrastrukturu a nikdo jej trvale nehlídá, tak zásadní změna je (už od podzimu) časové razítkování podepsaných zpráv do PKCS7 podpisu při stažení podepsané zprávy. Toto přidané razítko nenarušuje platnost podpisu a nenarušuje kompatibilitu formátu datové zprávy (CMS struktura v BER kodování).
Jan Šíma