76 Problem s overenim DS

mojo2cz@gmail.com 08.11.2021 07:48

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:04

Dobrý 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:16

Dobrý 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:07

Omlouvam 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:16

Dobry 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 ?

datap_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_fieldname  '~server_protocol'
                                     value 'HTTP/1.1' ).

  client->request->set_header_fieldname  'Connection'
                                     value 'keep-alive' ).

  client->request->set_header_fieldname  'Accept-Encoding'
                                     value 'gzip,deflate' ).

  client->request->set_header_fieldname  'Content-Type:'
                                     value 'application/xml' ).

  client->request->set_header_fieldname  'Host'
                                     value 'www.mojedatovaschranka.cz' ).

    xml '<GetInfoRequest xmlns="http://seznam.gov.cz/ovm/ws/v1">' &&
          '<Ico>' && customer_ico && '</Ico>' &&
          '</GetInfoRequest>'.

    client->request->set_cdatadata 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_cdataRECEIVING data )<< 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:38

Dobrý 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:26

Dobre, 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:31

Když 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