Dobry den,
pred nejakou dobou jsme se bavili o zjistovani DS firem. Poradili jste mi pouzit rest api(Diskuze z 9.2.2021).
Zprovoznil jsem to a dlouhou dobu mi to jelo v poradku. Nyni mi ovsem misto seznamu DS prijde odpoved, ktera DS neobsahuje.
Vsechny funkce, ktere pouzivam mi projdou se spravnym navratovym kodem (volam to pres ABAP metodu cl_http_client).
Vrati mi pokazde toto:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>#<GetInfoResponse xmlns="http://seznam.gov.cz/ovm/ws/v1"/>#
Provadeli jste v systemu nejaky upravy anebo se jedna jen o "nahodny" vypadek?
Preji hezky den.
Vasek O.
76.1 Re: Problem s overenim DS
602jsima 08.11.2021 08:04Dobrý den,
webové služby Seznamu DS jsou trochu mimo hlavní vývoj a testování ISDS, i přesto samozřejmě fungovat musí. Zjistím, co se stalo.
Co přesně voláte? Jakou službu v jaké podobě?
děkuji za upozornění
Jan Šíma
76.2 Re: Problem s overenim DS
602jsima 08.11.2021 08:16Dobrý den,
zkoušel jsem tu službu a vše funguje, při nějakém zadání parametrů se nenajde výsledek a pak to vrátí prázdnou odpověď, což mi připadá správně. Nebo se to dřív chovalo jinak?
Jan Šíma
ISDS
76.3 Re: Problem s overenim DS
mojo2cz@gmail.com 08.11.2021 12:07Omlouvam se, ale dnes rano mi to vracelo prazdny vysledek pro uplne vse, co jsem tam poslal ... nyni se to tvari, ze je vse v poradku.
Napriklad pro dotaz:
<GetInfoRequest xmlns="http://seznam.gov.cz/ovm/ws/v1"><Ico>00011754</Ico></GetInfoRequest>
mi vrati spravnou odpoved ...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>#<GetInfoResponse xmlns="http://seznam.gov.cz/ovm/ws/v1"># <Osoba># <Ico>00011754</Ico># <NazevOsoby>Linde Gas a.s.</NazevOsoby># <ISDS>idpcft3</ISDS># <PDZ>true</PDZ>#
Snad to uz bude v poradku.
Preji hezky den.
Vasek O.
76.4 Re: Problem s overenim DS
mojo2cz@gmail.com 29.03.2022 07:16Dobry den,
tak opet stejna chyba :-) Vse kolem http clienta projde bez chyby. Navratove kody v poradku. Ve chvili, kdy si vyzvedavam odpoved, tak nic nedostanu.
Zkousel jsem to spoustet behem dne nekolikrat a stale stejny problem (vystridal jsem i ruzne servery, systemy). Nezmenilo se nekde neco v posledni dobe?
Dekuji moc.
Vasek O.
PS: trochu mne desi, ze to obcas jede a obcas ne
Mam to napsane v ABAPu ... pokud to nekdo zna, neni v tom nejaka chyba ?
data: p_url type string value 'https://www.mojedatovaschranka.cz/sds/ws/call'.
call method cl_http_client=>create_by_url
exporting
url = p_url
importing
client = client
exceptions
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
others = 4.
if sy-subrc <> 0.
WRITE: / 'HTTP create failed - code:', sy-subrc.
STOP.
endif.
client->request->set_method( 'POST' ).
client->request->set_header_field( name = '~server_protocol'
value = 'HTTP/1.1' ).
client->request->set_header_field( name = 'Connection'
value = 'keep-alive' ).
client->request->set_header_field( name = 'Accept-Encoding'
value = 'gzip,deflate' ).
client->request->set_header_field( name = 'Content-Type:'
value = 'application/xml' ).
client->request->set_header_field( name = 'Host'
value = 'www.mojedatovaschranka.cz' ).
xml = '<GetInfoRequest xmlns="http://seznam.gov.cz/ovm/ws/v1">' &&
'<Ico>' && customer_ico && '</Ico>' &&
'</GetInfoRequest>'.
client->request->set_cdata( data = xml ).
call method client->send
exporting
timeout = timeout
exceptions
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
others = 4.
if sy-subrc <> 0.
call method client->get_last_error
importing
code = subrc
message = mess.
WRITE: / 'Send error - code:', subrc, 'Message: ', mess.
CONTINUE.
endif.
call method client->receive
exceptions
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
others = 4.
if sy-subrc <> 0.
call method client->get_last_error
importing
code = subrc
message = mess.
WRITE: / 'Receice error - code:', subrc, 'Message: ', mess.
CONTINUE.
endif.
client->response->get_cdata( RECEIVING data = d ). << a tady je problem :-) string je prazdny, navratovy kod 0 .. vse ok
76.4.1 Re: Re: Problem s overenim DS
602jsima 29.03.2022 08:38Dobrý den,
podle autorů aplikace SDS je správné chování, že se vrací prázdná odpověď, pokud není nalezen žádný subjekt v SDS, tedy třeba subjekt, který nemá schránku nebo má schránku, ale ta není přístupná. Zkuste to ještě s nějakým existujícím IČ (47114983 - Česká pošta).
Zkontroluji dokumentaci, jestli je to tam uvedeno.
Jan Šíma
ISDS
76.5 Re: Problem s overenim DS
mojo2cz@gmail.com 29.03.2022 09:26Dobre, zkousim:
request: <GetInfoRequest xmlns="http://seznam.gov.cz/ovm/ws/v1"><Ico>47114983</Ico></GetInfoRequest>
response:
... proste nic :-)
Jeste mne napadlo ... nemuze se stat, ze nekoho pri opakovanem volani od sluzby odstrihnete (tisice dotazu ... overuji vsechny nase kmenove zaznamy odberatelu) ?
76.5.1 Re: Re: Problem s overenim DS
602jsima 05.04.2022 08:31Když pošlu
<GetInfoRequest xmlns="http://seznam.gov.cz/ovm/ws/v1"><Ico>47114983</Ico></GetInfoRequest>
na URL https://www.mojedatovaschranka.cz/sds/ws/call
dostanu
<GetInfoResponse xmlns="http://seznam.gov.cz/ovm/ws/v1">
<Osoba>
<Ico>47114983</Ico>
<NazevOsoby>Automat konverzní pošta (Česká pošta, s.p.)</NazevOsoby>
<ISDS>em2ukrb</ISDS>
<PDZ>false</PDZ>
<TypSubjektu>OVM_REQ</TypSubjektu>
<AdresaSidla>
<AdresaTextem>Nemanická 2208/16, České Budějovice 3, 37010, České Budějovice</AdresaTextem>
<OkresNazev/>
<ObecNazev>České Budějovice</ObecNazev>
<CastObceNazev>České Budějovice 3</CastObceNazev>
<UliceNazev>Nemanická</UliceNazev>
<PostaKod>37010</PostaKod>
<CisloDomovni>2208</CisloDomovni>
<CisloOrientacni>16</CisloOrientacni>
</AdresaSidla>
</Osoba>
<Osoba>
<Ico>47114983</Ico>
<NazevOsoby>Česká pošta, s.p.</NazevOsoby>
<ISDS>kr7cdry</ISDS>
<PDZ>false</PDZ>
<TypSubjektu>OVM_PO</TypSubjektu>
<AdresaSidla>
<AdresaTextem>Politických vězňů 909/4, Nové Město, 11000, Praha 1</AdresaTextem>
<OkresNazev/>
<ObecNazev>Praha 1</ObecNazev>
<CastObceNazev>Nové Město</CastObceNazev>
<UliceNazev>Politických vězňů</UliceNazev>
<PostaKod>11000</PostaKod>
<CisloDomovni>909</CisloDomovni>
<CisloOrientacni>4</CisloOrientacni>
</AdresaSidla>
</Osoba>
</GetInfoResponse>
Když pošlu dotaz na slovenské IČO (tj. správné, ale v ISDS neexistující), dostanu:
<GetInfoResponse xmlns="http://seznam.gov.cz/ovm/ws/v1"/>
Když pošlu dotaz na špatně zadané IČO, dostanu odpověď:
<ErrorResponse xmlns="http://seznam.gov.cz/ovm/ws/v1">
<Message>IC is invalid [ic=37641060]</Message>
</ErrorResponse>
Vám to někdy funguje a někdy ne? Jaký HTTP status se vrací při té "prázdné" odpovědi.
Žádné omezování počtů volání není zavedeno.
Jan Šíma
ISDS