Popis webových služeb pro vstup dokumentů

Table of Contents

1 Úvod

Webové služby pro vstup dokumentů tvoří jednotný rámec pro vstup dokumentů do systému ISPOP.

Při jejich implementaci byly použity běžné standardy (WSDL, SOAP, HTTP, XSD).

K testování jsou vždy dostupné i testovací webové služby.

URL služeb se liší podle používané verze.

2 Verze

2.2 Bugfixing

2.2.1 2011-10-10

  • oprava výstupu validace

3 Zabezpečení

Část služeb je volně dostupná, část je dostupná přes HTTP basic autorizaci. Uživatel musí zadat platné jméno a heslo do systému ISPOP, aby došlo k provolání požadované operace.

Kontrola je dvojí – jednak na úrovni HTTP (vrací se hodnota HTTP Error 401 Unauthorized při neoprávněném přístupu) a jednak na úrovni aplikace (kontrola, zda daný uživatel má právo volat danou metodu).

Platné jméno a heslo Vám zajistí správce aplikace.

Volně dostupné je služba pro validaci a odeslání registrace. Pro verzi v20110901:

  • v20110901-documentValidateWsdl
  • v20110901-documentRegistrationInputWsdl.wsdl

Autorizace je požadována do služby:

  • v20110901-documentInputWsdl.wsdl

4 Ošetření chyb

Služby mají relativně jednoduché rohraní a nevyskytují se definované výjmečné stavy (dáno logikou fungování – ISPOP musí přijmout jakýkkoli dokument (tj. binární stream dat) a musí zvalidovat jakkýkoli dokument).

5 Přehled metod

5.1 Speciální metody pro Adobe Reader

Z implementačních důvodů jsou v rozhraní speciální metody příjimajíccí serializované XML. Tyto jsou určeny pro klienty Adobe Reader. Ostatní klienti by měli volat jejich ekvivaleny s normálními datovými typy.

5.2 Komentovaný seznam metod

5.2.1 documentValidateWsdl.wsdl

  • validate – metoda pro validaci, vstupem je serializované XML, výstupem strukturovaný typ popisující nalezené validační chyby. Ty mohou být trojí: (1) informativní, (2) varování a (3) chyby. Pokud dokument obsahuje chyby ad 3, neměl by být do ISPOPu odeslán, resp. na 99% bude později ověřovatelem shledán nevalidním a vyřazen ze zpracování.
  • validateForAcroread – metoda stejná jako výše popsaná – určena pro klienta Adobe Reader

5.2.2 documentInputWsdl.wsdl ₊ documentInputWsdl.wsdl

  • submit – metoda příjímá binární stream dat (podporováno je jen PDF nebo XML podle datového standardu) a vrací číslo dokumentu jako výsledek. Dokument je tak přijat ke zpracování. Pokud neodpovídá datovému standardu, je ISPOPem vyhodnocen jako nevalidní podání. Pokud je to možné, je později odesilatel kontaktován. Toto nicméně nespadá do příjmu dokumentů.
  • submitForAcroread – metoda jako výše, určená pro klienta Adobe Reader

6 Ukázka komunikace

Vytvořeno vůči testovacímu prostředí ve verzi v20110901.

6.1 Odeslání dokumentu

Využívá se metody validate z rozhraní documentValidateWsdl.wsdl. Posílají se smyšlená data a validace korektně určí chybu.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="http://ispop.cz/document/v20110901">
   <soapenv:Header/>
   <soapenv:Body>
      <v20:validate>
         <v20:xmldoc>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xfa:data xmlns:xfa=&quot;http://www.xfa.org/schema/xfa-data/1.0/&quot;
&gt;&lt;F_IRZ revision=&quot;2&quot; version=&quot;2011&quot;
&gt;&lt;meta-info
&gt;&lt;user-agent
&gt;LC&lt;/user-agent
&gt;&lt;user-agent-version
&gt;2011-11-28.7741&lt;/user-agent-version
&gt;&lt;/meta-info
&gt;&lt;section1
&gt;&lt;radneDoplneneHlaseni
&gt;&lt;rd
&gt;R&lt;/rd
&gt;&lt;radne
/&gt;&lt;/radneDoplneneHlaseni
&gt;&lt;rok
&gt;2011&lt;/rok
&gt;&lt;hlaseniVyplnil
&gt;&lt;vyplnil
&gt;&lt;jmeno
&gt;Spr&#225;vce&lt;/jmeno
&gt;&lt;prijmeni
&gt;Ispop&lt;/prijmeni
&gt;&lt;/vyplnil
&gt;&lt;kontakt
&gt;&lt;email
&gt;spravce@cenia.cz&lt;/email
&gt;&lt;telefon
&gt;&lt;predvolba
&gt;+420&lt;/predvolba
&gt;&lt;cislo
&gt;1&lt;/cislo
&gt;&lt;/telefon
&gt;&lt;fax
&gt;&lt;predvolba
&gt;+420&lt;/predvolba
&gt;&lt;/fax
&gt;&lt;/kontakt
&gt;&lt;datum
&gt;2011-11-22&lt;/datum
&gt;&lt;/hlaseniVyplnil
&gt;&lt;ohlasovatel
&gt;&lt;spolecnostVyberVycet
&gt;PRAVNICKA_OSOBA&lt;/spolecnostVyberVycet
&gt;&lt;spolecnostVyber
&gt;&lt;pravnickaOsoba
&gt;&lt;nazev
&gt;Elkoplast Slu&#353;ovice s.r.o.&lt;/nazev
&gt;&lt;pravniForma
&gt;112&lt;/pravniForma
&gt;&lt;ic
&gt;26235757&lt;/ic
&gt;&lt;/pravnickaOsoba
&gt;&lt;/spolecnostVyber
&gt;&lt;adresa
&gt;&lt;kraj
&gt;Zl&#237;nsk&#253;&lt;/kraj
&gt;&lt;okres
&gt;Zl&#237;n&lt;/okres
&gt;&lt;obec
&gt;Slu&#353;ovice&lt;/obec
&gt;&lt;obecKod
&gt;585777&lt;/obecKod
&gt;&lt;mestkaCast
&gt;Slu&#353;ovice&lt;/mestkaCast
&gt;&lt;ulice
&gt;Dlouh&#225;&lt;/ulice
&gt;&lt;psc
&gt;76315&lt;/psc
&gt;&lt;cisloPopisne
&gt;134&lt;/cisloPopisne
&gt;&lt;kodZeme
&gt;CZ&lt;/kodZeme
&gt;&lt;/adresa
&gt;&lt;/ohlasovatel
&gt;&lt;ohlasovatelOstatni
&gt;&lt;lau1
&gt;CZ0724&lt;/lau1
&gt;&lt;/ohlasovatelOstatni
&gt;&lt;provozovna
&gt;&lt;icp
&gt;CZ55729230&lt;/icp
&gt;&lt;nazev
&gt;EKOPLAST Slu&#353;ovice - laminov&#225;n&#237; plast&#367;&lt;/nazev
&gt;&lt;jtskX
&gt;1163637&lt;/jtskX
&gt;&lt;jtskY
&gt;511502&lt;/jtskY
&gt;&lt;wgs84CoordinateX
&gt;&lt;degrees
&gt;49&lt;/degrees
&gt;&lt;minutes
&gt;14&lt;/minutes
&gt;&lt;seconds
&gt;49.16583600001216&lt;/seconds
&gt;&lt;/wgs84CoordinateX
&gt;&lt;wgs84CoordinateY
&gt;&lt;degrees
&gt;17&lt;/degrees
&gt;&lt;minutes
&gt;47&lt;/minutes
&gt;&lt;seconds
&gt;44.70547199999859&lt;/seconds
&gt;&lt;/wgs84CoordinateY
&gt;&lt;adresa
&gt;&lt;kraj
&gt;Zl&#237;nsk&#253;&lt;/kraj
&gt;&lt;okres
&gt;Zl&#237;n&lt;/okres
&gt;&lt;obec
&gt;Slu&#353;ovice&lt;/obec
&gt;&lt;ulice
&gt;Dlouh&#225;&lt;/ulice
&gt;&lt;psc
&gt;76315&lt;/psc
&gt;&lt;cisloPopisne
&gt;134&lt;/cisloPopisne
&gt;&lt;kodZeme
&gt;CZ&lt;/kodZeme
&gt;&lt;/adresa
&gt;&lt;lau1
&gt;CZ0724&lt;/lau1
&gt;&lt;povodi
&gt;1&lt;/povodi
&gt;&lt;nace
&gt;353010&lt;/nace
&gt;&lt;/provozovna
&gt;&lt;/section1
&gt;&lt;section2
&gt;&lt;cinnosti
&gt;&lt;jeEPRTR
&gt;0&lt;/jeEPRTR
&gt;&lt;cinnostiEPRTR
/&gt;&lt;cinnostiOstatni
&gt;&lt;cinnostOstatniSeq
&gt;&lt;nazevCinnosti
&gt;1&lt;/nazevCinnosti
&gt;&lt;pocet
&gt;1&lt;/pocet
&gt;&lt;/cinnostOstatniSeq
&gt;&lt;/cinnostiOstatni
&gt;&lt;/cinnosti
&gt;&lt;/section2
&gt;&lt;section3
&gt;&lt;unikyOvzdusi
/&gt;&lt;unikyVoda
/&gt;&lt;unikyPuda
/&gt;&lt;prenosyOdpVody
/&gt;&lt;prenosyOdpady
/&gt;&lt;ostatniOdpady
/&gt;&lt;nebezpecneOdpady
/&gt;&lt;/section3
&gt;&lt;/F_IRZ
&gt;&lt;/xfa:data
&gt;</v20:xmldoc>
      </v20:validate>
   </soapenv:Body>
</soapenv:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:validateResponse xmlns:ns2="http://ispop.cz/document/v20110901">
         <ns2:validateResponseDetails>
            <ns2:status>VALIDATION_ERROR</ns2:status>
            <ns2:xsdErrorList/>
            <ns2:validationErrorList>
               <ns2:validationError>
                  <ns2:code>DATA_VALIDATION_DOCUMENT_ERROR</ns2:code>
                  <ns2:message>Ve formuláři je nutné vyplnit alespoň jeden z úniků, přenosů látek nebo přenosů odpadů mimo provozovnu.</ns2:message>
               </ns2:validationError>
            </ns2:validationErrorList>
            <ns2:validationWarningList/>
            <ns2:validationInfoList/>
         </ns2:validateResponseDetails>
      </ns2:validateResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Date: 2012-01-09 11:44:20 CET

Author: Martin

Org version 7.8.02 with Emacs version 23

Validate XHTML 1.0