Source: http://docplayer.fi/1577807-Suora-sanoma-asiointi-tullissa-tekninen-opas-suomen-tulli-paivitys-20-8-2015-sahkoisen-asioinnin-tuki.html
Timestamp: 2018-04-20 07:24:11+00:00
Document Index: 1980881

Matched Legal Cases: ['kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ', 'kko ']

Suora sanoma-asiointi Tullissa. Tekninen opas. Suomen Tulli Päivitys Sähköisen asioinnin tuki - PDF
Download "Suora sanoma-asiointi Tullissa. Tekninen opas. Suomen Tulli Päivitys 20.8.2015 Sähköisen asioinnin tuki"
1 Suora sanoma-asiointi Tullissa Tekninen opas Suomen Tulli Päivitys Sähköisen asioinnin tuki
2 Sisällys 1 Tämän oppaan tarkoitus Suoran sanoma-asioinnin webservice-palvelu Suora sanoma-asioinnin looginen arkkitehtuuri Palvelun tietoturva Sanomatiedotepalvelu Tullin SOAP sanomat SOAP-sanomien rakenne SOAP-kyselysanoma SOAP -vastussanoma Vastaus normaali- ja virhetilanteissa ResponseHeader paluukoodit SOAP fault eli vikaelementti Asiakasohjelmien varautuminen virhetilanteisiin Sanoman uudelleenlähetys Sanoman muodostuksen ja välityksen vaiheet (UPLOAD) Tullin WSDL- ja XSD-tiedostot Vastaussanomiin liittyvät PDF-tiedostot Palvelun tarjoamat operaatiot Tullin toteuttamat palvelut Asiakkaan toteuttama palvelu Palvelun operaatiot WSDL:ssä Upload DownloadList Download Notify CheckConnectivity XML-elementtien tietojen kuvaukset RequestHeader ApplicationRequestMessage ResponseHeader MessageInformation DownloadMessageListFilteringCriteria DownloadMessageFilteringCriteria ApplicationResponseMessage EchoContent ApplicationRequest Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
3 7.10 ApplicationContent ApplicationResponse NotifyRequest Notifyresponse Teknisten toimijoiden tunnistus ja valtuutus Sanomailmoittajan tunnistus Muodostajan / Välittäjän tunnistus Sanomatiedotepalvelun tarjoajan tunnistus Palvelinvarmenne Palvelinvarmenteen hankinta ja käyttöönotto Palvelinvarmennehakemus Palvelun käyttötarkoitus URL-osoite tai palvelimen nimi Voimassaolo Varmenteen käyttötarkoitus Varmennehakemuksen toimitustapa ja -osoite Varmennepyyntötiedosto Varmennepyyntötiedoston sisältö Varmennepyyntötiedoston luonti ja asentaminen Palvelinvarmenteen uusiminen Asiakassanoman lähetystiedot Palveluntarjoajan tunniste Palvelun URL-osoite Lähetyskerran tunnus Lähetystiedot asiakasanomassa RequestHeader ApplicationRequest Sovellussanoma XML allekirjoitus XML allekirjoituksen rakenne XML allekirjoituksen toteuttaminen XML allekirjoituksen validointi ja mahdolliset ongelmat Suoralle sanoma-asioinnille asetetut rajoitukset Protokollaversiot Salausalgoritmit Sanomaan liittyvät rajoitukset Palvelupyyntöjen määrään liittyvät rajoitukset Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
4 12.5 Palvelupyyntöjen aikavalvonnat Liite 1: ResponseCode ja ResponseText Liite 2: NotifyResponse sanomassa käytettävät virhekoodit Liite 3: Vaatimukset Tullin XML-sanomille Liite 4: XML-sanomat ja nimiavaruuden käyttö Liite 5: Suoran sanoma-asioinnin tekniset standardit Taulukot: Taulukko 1: Upload Taulukko 2: DownloadList Taulukko 3: Download Taulukko 4: Notify Taulukko 5: CheckConnectivity Taulukko 6: RequestHeader Taulukko 7: ApplicationRequestMessage Taulukko 8: ResponseHeader Taulukko 9: MessageInformation Taulukko 10: DownloadMessageListFilteringCriteria Taulukko 11: DownloadMessageFilteringCriteria Taulukko 12: ApplicationResponseMessage Taulukko 13: EchoContent Taulukko 14: ApplicationRequest Taulukko 15: ApplicationContent Taulukko 16: ApplicationResponse Taulukko 17: NotifyRequest Taulukko 18: NotifyRespondsHeader Taulukko 19: RespondsCode Taulukko 20: Tekniset toimijat Taulukko 21: Varmennepyynnön pakolliset kentät Taulukko 22: Varmennepyynnön SERIALNUMBER-kenttä Taulukko 23: ResponseCode ja ResponseText Taulukko 24: NotifyResponse sanomassa käytettävät virhekoodit Taulukko 25: Suoran sanoma-asioinnin tekniset standardit Kuvat: Kuva 1: Esimerkki Tullin ja asiakkaan ratkaisusta... 7 Kuva 2: Esimerkki web service palveluista... 9 Kuva 3: Asiakkaalta saapuva sanoma Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
5 Kuva 4: SOAP-kyselysanoman rakenne korkealla tasolla Kuva 5: SOAP-vastaussanoman rakenne korkealla tasolla Kuva 6: Sanoman uudelleenlähetys ja lähetyskerran tunnus Kuva 7: Sanoman muodostaminen Tullille Kuva 8: Upload, kysely Kuva 9: ApplicationRequest:in kuvaus Kuva 10: Upload, vastaus Kuva 11: DownloadList, kysely elementeillä Startdate ja EndDate Kuva 12: DownloadList, kysely elementeillä StartTimestamp ja EndTimestamp Kuva 13: DownloadList, vastaus Kuva 14: Download, kysely Kuva 15: Download, vastaus Kuva 16: ApplicationResponse:n kuvaus Kuva 17: Kuvaus NotifyRequest tullilta lähtevä Kuva 18: Kuvaus NotifyResponse asiakkaalta tuleva Kuva 19: Varmenteiden luottamusketju Kuva 20: HTTPS-yhteyden muodostus varmennetta käyttäen (yksinkertaistettuna). Edellisen kuvan luottamusketju liittyy vaiheisiin 2 ja Kuva 21: Varmenteen haku Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
6 1 Tämän oppaan tarkoitus Tässä oppaassa selvitetään Tullin tarjoaman suoran sanoma-asioinnin web service palvelun teknisiä yksityiskohtia, joita tarvitaan asiakasjärjestelmän liittämiseen Tullin palveluun, ohjeistetaan palvelinvarmenteen hankkiminen sekä kuvataan suoran sanoma-asioinnin web service palvelu. Myös liitteisiin on koottu paljon hyödyllistä tietoa. Viimeiset muutokset / lisäykset on korostettu keltaisella. Tullin www-sivuilta löytyvät myös seuraavat hyödylliset julkaisut 1. Johdanto sanomapohjaiseen asiointiin Tullissa 2. Suoran sanoma-asiointipalvelun käyttöehdot 3. Suoran sanoma-asioinnin toteutuksen tarkistuslista Johdanto sanomapohjaiseen asiointiin Tullissa on hyödyllinen asiointikanavan valintaa mietittäessä. Siinä esitellään myös tarkemmin suoran sanoma-asioinnin toimintoja ja rooleja. Kuten sanoma-asiointi yleensäkin, myös suora sanoma-asiointi on luvanvaraista. Tarkempaa tietoa tästäkin löytyy oppaasta Johdanto sanomapohjaiseen asiointiin Tullissa. en.pdf Suoran sanoma-asiointipalvelun käyttöehdot löytyvät hakemuksen liitteistä. Siihen on syytä tutustua, jos aikoo ottaa käyttöönsä suoran sanoma-asioinnin. Suoran sanoma-asioinnin toteutuksen FAQ tarkistuslistaan on koottu niiden ongelmatilanteiden ja ratkaisujen kuvauksia, joita asiakkaat ovat kohdanneet toteuttaessaan Tullin suoran sanoma-asioinnin ratkaisua. Listaa pyritään pitämään ajan tasalla, joten sitä on hyvä aina silloin tällöin katsoa. tilanteet.pdf Tulli tarjoaa asiakkaidensa käyttöön myös muutamia esimerkkitoteutuksia, joita asiakkaat voivat hyödyntää tehdessään omia sovelluksiaan. Esimerkkitoteutuksia on tarjolla: suoraan sanoma-asiointiin (Java) sanomatiedotteiden vastaanottoon (Java) Esimerkkitoteutukset ovat maksuttomia ja niitä voi pyytää Sähköisen Palvelukeskuksen EDI-tuesta. Tulli ei tue niiden käyttöä millään tavalla. Tullin www-sivuilta löytyy kattava valikoima esimerkkisanomia. Ne löytyvät suoran sanomaasioinnin versiotiedotteiden yhteydestä. Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
7 2 Suoran sanoma-asioinnin webservice-palvelu Sanomapohjaisessa asioinnissa yritys voi lähettää ja noutaa sanomia Tullin järjestelmien kanssa joko EDI-operaattorin kautta tai suoraan Internetin yli. Jälkimmäistä tapaa kutsutaan suoraksi sanomaasioinniksi, jossa Tulli tarjoaa yritysasiakkailleen web service palvelun. Suora sanoma-asiointi perustuu siihen, että asiakkaan järjestelmä lähettää sanomansa Tullille ja hakee noutamista odottavat Tullin sanomat. Tulli ei koskaan lähetä vastaussanomiaan asiakkaalle. Asiakas saa tietää noutamista odottavien sanomien yksilöivät tiedot kyselemällä sanomalistausta, jonka perusteella asiakas voi sitten noutaa sanomat tai ottamalla käyttöön sanomatiedotepalvelun, joka lähettää asiakkaan järjestelmään tiedon noutamista odottavista sanomista. Tulli tarjoaa suoran sanoma-asioinnin rajapinnan AREX, ELEX, EMCS, ALA, ITU, Passitus ja Intrastatjärjestelmiin. Asiakas toteuttaa omaan ympäristöönsä palvelut, joilla se pystyy käyttämään Tullin tarjoamia palveluita 2.1 Suora sanoma-asioinnin looginen arkkitehtuuri Asiakas voi käyttää suoran sanoma-asioinnin rajapinnan kautta yhtä tai useampaa Tullin tietojärjestelmää. Yksinkertaisin ja selkein toteutustapa asiakkaalle on rakentaa yksi integraatiojärjestelmä, joka muodostaa ja lähettää kaikki Tullin järjestelmiin lähtevät sanomat. Tällöin tarvitaan vain yksi palvelinvarmenne ja uusien asiakassovellusten tuominen suoran sanoma-asioinnin palvelukanavaan on asiakkaalle helpompaa. Sanomatiedotepalvelu on myös helpompi toteuttaa ratkaisuun, jossa asiakkaalla on vain yksi kanava, joka vastaanottaa kaikki sanomatiedotepalvelun tiedotteet. Muiden ratkaisujen tuomista haasteista katso tarkemmin asiakirja: Yleisimmät ongelmatilanteet tilanteet.pdf Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
8 cmp Component Model TUlli AREX ELEX WS Integraatiokerros VRK varmenne Asiakas VRK varmenne WS Integraatio Asiakkaan järjestelmä Asiakkaan järjestelmä Kuva 1: Esimerkki Tullin ja asiakkaan ratkaisusta 2.2 Palvelun tietoturva Suora sanoma-asioinnin sanomanvälityksen luottamuksellisuus perustuu riittävän vahvan SSL/TLSsalauksen käyttöön kaikissa julkisen verkon kautta ohjautuvissa sanomanvälitystapahtumissa. Suora sanoma-asioinnissa asiakkaan tunnistaminen perustuu kaksisuuntaiseen SSL/TLS-tunnistukseen. Pyytämällä SSL/TLS-kättelyn yhteydessä asiakkaalta väestörekisterikeskuksen allekirjoittaman julkisen avaimen varmenteen Tullin suora sanoma-asiointirajapinta tunnistaa asiakkaan identiteetin sekä tarkistaa asiakkaalle myönnetyt Tullin sovellusten käyttövaltuudet. Tullin rajapinta käyttää myös VRK:n varmenteiden sulkulistapalvelua ja hylkää VRK:n sulkulistalle asetetuilla varmenteilla tehdyt sanomanvälitysyritykset. Myös asiakas pystyy varmistamaan Tullin rajapintajärjestelmän identiteetin sen SSL/TLSkättelyssä esittämän julkisen avaimen varmenteen avulla. Suora sanoma-asiointirajapinnassa käytettävä SSL/TLS-salaus rajoittaa myös ulkopuolisten toimijoiden rajapintaan kohdistamia palvelunestohyökkäyksiä, sillä Tullin rajapinta hylkää muodostettavan SSL/TLSyhteyden, mikäli sanoman lähettäjällä ei ole käytössään VRK:n myöntämää ja voimassaolevaa varmennetta. Asiakkaan lähettämien tullaussanomien eheys varmistetaan käyttämällä XML-allekirjoitusta(XMLDSig), jonka avulla Tullin rajapinta-sovellus tarkistaa jokaisen sanoman eheyden ja allekirjoittajan identiteetin. Tullin suora sanoma-asiointirajapinta säilyttää sekä asiakkaan lähettämät että asiakkaalle palautuvat sanomat vähintään lain määrämän ajan, jonka aikana niiden sisältö ja lähetystiedot pystytään tarvittaessa tarkistamaan. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
9 Tullin suora sanoma-asiointi rajapinta tarkistaa asiakkaan lähettämät sanomat erilaisten XML-uhkien ja SQL injektiohyökkäysten varalta. Tullin rajapinta rajoittaa myös asiakkailta saapuvaa liikennevolyymia estämällä tahallisten tai tahattomien ylikuormitustilanteiden mahdollisesti aiheuttamien palvelunestohyökkäyksien onnistumisen. Lupahakemuksen yhteydessä asiakas hyväksyy Tullin suoran sanoma-asioinnin käyttöehdot, joissa on määritelty asiakkaan tietoturvaan liittyvät velvollisuudet ja vastuut (Tullilomake 934s_15 ). 2.3 Sanomatiedotepalvelu Kun asiakas ottaa käyttöönsä Sanomatiedotepalvelun, Tulli lähettää noutamista odottavan sanoman yksilöivän tiedon asiakkaan ilmoittamaan url-osoitteeseen välittömästi kun sanoma on valmis noudettavaksi. Tällöin päästään lähelle reaaliaikaisuutta sanoma-asioinnissa sekä vältetään turhaa liikennettä asiakkaan ja Tullin järjestelmien välillä. Tulli suosittelee sanomatiedotepalvelun käyttöönottoa. Sanomatiedotepalvelu on y-tunnus kohtainen. Sanomatiedotteen vastaanottoon asiakkaan puolella tarvitaan: Web service palvelin-toiminnallisuus Asiakkaan oma sisäinen sanomatiedotteiden käsittelylogiikka Palvelinympäristö (esim. sovelluspalvelin + https-palvelin) Palomuuriavaukset asiakkaan verkossa. Sertifikaatti, joka sisältää myös Palvelinsertifikaatin (VRK) Yrityksellä (yritystunnusta kohden) voi olla vain yksi sanomatiedotteiden vastaanottopalvelu kaikkia suorassa sanoma-asioinnissa olevia sovelluksia ja ohjelmistoja varten. Asiakkaan palvelun tulee tarvittaessa pystyä jakamaan saapuneet sanomatiedotteet oikealle järjestelmälle Kun sanomatiedotepalvelu otetaan käyttöön, se koskee kaikkia asiakkaan sovelluksia. Asiakkaan tulee itse suodattaa tiedotteista ne, jotka haluaa käsittelyyn, mikäli tiedotteita ei haluta hyödyntää kaikissa sovelluksissa. Näiltä osin vastuu toteutuksesta ja ylläpidosta on asiakkaalla. Sanomatiedotepalvelun tiedonsiirtoyhteydet julkisessa verkossa muodostetaan aina käyttäen SSL/TLSsalausta. Tietoturvan kannalta olisi suotavaa jos asiakas määrittelisi tietoliikenneyhteydet sallituiksi ainoastaan tarjoamansa sanomatiedotepalvelimen ja Tullin sanomatiedotteita lähettävän osoitteen välillä. Lisäksi suositellaan että asiakas tarkistaisi sanomatiedotepalveluaan kutsuvan asiakasohjelman identiteetin yhteydenmuodostusvaiheessa julkisen avaimen varmenteen avulla(https client authentication). Eli asiakasohjelmisto tunnistaisi Tullin palvelun sen lähettämällä palvelinvarmenteella, jotta asiakkaan palvelu varmistuisi sanomatiedotteen lähettäjästä. Vaikka Sanomatiedotepalvelu on käytössä, on asiakkaan hyvä silloin tällöin kysyä myös sanomalistausta, koska Tulli ei häiriötilanteissa yritä uudelleen lähettää sanomatiedotetta. Asiakkaan on silloin itse selvitettävä noutamista odottavien sanomien tunnukset. Sanomalistausta saa kuitenkin tässä tapauksessa kysyä normaalia harvemmin, korkeintaan kerran tunnissa. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
10 OPERAATIOT: Upload DownloadList Download WEB SERVICE WEB SERVICE CLIENT SERVER SERVER CLIENT ASIAKAS TULLI OPERAATIO: Notify Kuva 2: Esimerkki web service palveluista Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
11 3 Tullin SOAP sanomat 3.1 SOAP-sanomien rakenne Suorassa sanomarajapinnassa (web service) käytetään SOAP-kysely- ja vastaussanomia sovellussanomien kuljettamiseen. SOAP-kyselyjen ja vastausten rakenne on kuvattu WSDL- ja XMLskeemakuvauksilla. Jokainen transaktio koostuu asiakkaan SOAP-kyselysanomasta ja Tullin siihen palauttamasta SOAPvastaussanomasta (request / response). cmp Component View Tulli AREX Tulkitsee XMLsovellussanomaa ja toimii sen mukaisesti Integraatiokerros Tulkitsee kehystietoja ja toimii niiden mukai sesti Asiakas Sanoman kehystiedot XML pohj ainen sovellussanoma esim IE57 Kehystietojen avulla varmistetaan sanoman kiistämättömyys ja eheys Kuva 3: Asiakkaalta saapuva sanoma Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
12 3.1.1 SOAP-kyselysanoma SOAP -sanoman uloin kerros on SOAP -kirjekuori (SOAP Envelope). Kirjekuoressa on pakollinen runko-osa (SOAP Body). Runko-osassa on aina vakiona XML -elementti nimeltään RequestHeader. Lisäksi kysely sisältää operaatiokohtaisen XML -elementin (operaatioista on kuvaus tässä dokumentissa). Tullin SOAP-sanomien XML-rakenteet (sanoman kehystiedot) ovat vakiomallisia ja sovelluksesta riippumattomia kun taas Tullin XML-sovellussanomat ovat sovelluskohtaisia. Kuva 4: SOAP-kyselysanoman rakenne korkealla tasolla SOAP -vastussanoma SOAP vastaussanoman runko-osassa on aina vakiona XML -elementti nimeltään ResponseHeader. Lisäksi vastaus sisältää operaatiokohtaisen XML -elementin (tai elementtejä). Kuva 5: SOAP-vastaussanoman rakenne korkealla tasolla Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
13 3.2 Vastaus normaali- ja virhetilanteissa ResponseHeader paluukoodit Sanomarajapinta palauttaa normaalitilanteessa SOAP-vastauksen, jonka HTTP-paluuarvo on 200 OK. ResponseHeaderin sisältämän ResponseCode XML-elementin arvo on tällöin 000 ja ResponseText XML-elementin sisältö on OK. Virhetilanteissa sanomarajapinta pyrkii palauttamaan aina normaalin SOAP-vastauksen, jonka HTTPpaluuarvo on 200 OK. ResponseHeaderin sisältämän ResponseCode XML-elementin arvo ja Response- Text XML-elementin sisältö ovat virhetilanteissa liitteen 1 mukaiset SOAP fault eli vikaelementti Tulli pyrkii pääsääntöisesti palauttamaan asiakkaan järjestelmään tiedon havaitsemistaan virhetilanteista ResponseHeader-tietoelementissä. Harvinaisissa ja odottamattomissa virhetilanteissa voi kuitenkin olla mahdotonta prosessoida vastaanotettua SOAP-viestiä, jolloin asianmukaisen ResponseHeaderin sisältävää vastausta ei voida palauttaa. Näitä tilanteita varten WSDL-kuvaukseen on määritelty ns. vikaelementti (fault). Tällaisissa virhetilanteissa sanomarajapinta palauttaa SOAP-faultin, jonka HTTP-paluuarvo on 500 Internal Error. Vikaelementtiin asetetaan seuraavat tiedot: - XML-elementti code, johon asetetaan odottamattomissa virheissä aina XML-elementti text, johon asetetaan odottamattomissa virheissä aina teksti Unexpected error tai Backend technical error. Tulli varaa oikeuden laittaa vikaelementtiin yllä esitetystä poikkeavaa sisältöä. Lisäksi on olemassa tunnettuja virhetilanteita, joissa asiakkaalle palautetaan pelkästään geneeriset SOAP fault-elementit faultcode ja faultstring Asiakasohjelmien varautuminen virhetilanteisiin Asiakasohjelmien tulisi osata varautua yleisimpiin virhetilanteisiin. Virhetilanteisiin reagointi riippuu virheen tyypistä. Liitteessä 1 virheet on jaoteltu sen mukaan - Kannattaako asiakasohjelman yrittää uudelleenlähetystä - Pitääkö sanomassa ollut virhe korjata ja lähettää sanoma vasta sen jälkeen uudelleen - Onko valtuutustiedoissa virheitä, jolloin pitää olla yhteydessä Tullin asiakastukeen. Asiakasohjelmistojen on valmistauduttava käsittelemään myös virhetilanteet, jolloin Tullin järjestelmä ei pysty palauttamaan edes SOAP responsea vaan pelkän SOAP faultin Sanoman uudelleenlähetys Kun sanomaa lähetetään uudelleen, on asiakkaan oltava huolellinen, milloin sanoman lähetyskerran tunnistetta vaihdetaan, jotta Tullin järjestelmiin ei vahingossa päädy tuplasanomia. Seuraava kuva pyrkii havainnollistamaan tilannetta. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
14 Tuplasanomalla tarkoitetaan sanomaa, joka on identtinen sanoman kanssa, jonka Tullin järjestelmä on jo ottanut aiemmin vastaan. Tuplasanomat aiheuttavat korjaustarpeita ja sitä kautta ylimääräistä työtä niin asiakkaalle kuin Tullillekin. OK = 000 Sanomassa tai hakuehdossa virhe (mm ) Korjaa sanoma tai hakuehto UPLOAD Saako asiakas kuittauksen KYLLÄ 474, 490, 499, 491= Järjestelmähäiriö Vaihda sanoman lähetyskerran tunnus 500 = Sanoman lähetyskerran tunnus on jo käytetty Onko kyseessä tuplasanoma EI EI UUDELLEENLÄHETYS Tunnistamaton järjestelmähäiriö 999 KYLLÄ ÄLÄ VAIHDA lähetyskerran tunnusta UUDELLEENLÄHETYS Kuva 6: Sanoman uudelleenlähetys ja lähetyskerran tunnus Asiakasohjelmien https-kutsujen timeout tulisi olla vähintään 120s. Näin varmistetaan, ettei asiakasohjelma yritä lähettää sanomaa uudelleen silloin kun sen käsittely Tullin järjestelmissä on vielä kesken. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
15 3.3 Sanoman muodostuksen ja välityksen vaiheet (UPLOAD) Sovellussanoma (xml-dokumentti) Content (base64-enkoodattu sisältö) 1. Luodaan sovelluskohtainen xml-dokumentti, ns. sovellussanoma 2. Base64 enkoodataan sovellussanoma arvoksi elementille Content Application Request (xml-dokumentti) Content (base64-enkoodattu sisältö) Application Request (xml-dokumentti) Content (base64-enkoodattu sisältö) XML Digital Signature ApplicationRequestMessage (base64-enkoodattu xml-elementti) Content (base64-enkoodattu sisältö) XML Digital Signature 3. Luodaan elementti ApplicationRequest, joka sisältää alielementin Content, jonka arvo on Base64- enkoodattu. ApplicationRequest -elementin rakenne on kuvattu XML-skeemassa ApplicationRequest.xsd 4. Allekirjoitetaan kokonaisuudessaan elementti Content, johon sovellussanoma sisältyy. Allekirjoituskin sijoitetaan elementtiin ApplicationRequest 5. Base64 enkoodataan elementti ApplicationReques arvoksi elementille ApplicationRequestMessage. SOAP Message SOAP Envelope SOAP Body Upload Request RequestHeader (xml-alielementti) ApplicationRequestMessage (base64-enkoodattu xml-alielementti) Content (base64-enkoodattu sisältö) XML Digital Signature 6. Luodaan SOAP-sanoma, johon asetetaan base64- enkoodattu xml-alielementti ApplicationRequestMessage 7. Lähetetään SOAPsanoma HTTPS-protokollalla ja odotetaan SOAPvastausta. Kuva 7: Sanoman muodostaminen Tullille Varsinaisen sovellussanoman ympärille muodostetaan ApplicationRequest lohko. Sen sisältönä on sovellussanomasta muodostettu Content elementti sekä muodostajan allekirjoitus, joka kattaa Content elementin. Välittäjä upottaa tämän valmiin, allekirjoitetun ApplicationRequest lphkon Base64 koodattuna edelleen arvoksi ApplicationRequestMessage elementille. Sekä sovellussanoma että Applicationrequest base64-koodataan. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
16 4 Tullin WSDL- ja XSD-tiedostot Sanomavälitysrajapinta kuvataan käyttäen hyväksi WSDL -määritystä, joka pohjautuu XML-pohjaiseen Web-palvelujen kuvauskieleen. Tullin suoran sanoma-asioinnin WSDL -määritys on toteutettu tiedostossa: CustomsCorporateService.wsdl WSDL viittaa seuraaviin XML-skeematiedostoihin, joissa kuvataan käytettyjä sanomarakenteita: ApplicationRequest.xsd ApplicationResponse.xsd ApplicationMessageTypes.xsd EchoContent.xsd WsdlTypes.xsd xmldsig-core-schema.xsd Lisäksi jos asiakas haluaa toteuttaa Sanomatiedotepalvelun, on syytä tutustua myös: Sanomatiedotepalvelun WSDL määrityksiin NotificationService.wsdl Joka viittaa seuraavaan XML-skeematiedostoon NotificationTypes.xsd Tiedostot on laitettu saataville jakelupakettina (ZIP-arkisto), joka on noudettavissa Tullin nettisivuilta seuraavasta osoitteesta: Yllä mainittu osoite on ainoa paikka josta WSDL on noudettavissa. WSDL:ää ei ole mahdollista noutaa lähettämällä HTTP GET?wsdl kysely web service-palvelun URL-osoitteeseen. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
17 5 Vastaussanomiin liittyvät PDF-tiedostot Eräiden Tullin vastaussanomien yhteydessä lähetetään myös sähköinen asiakirja PDF-tiedostona, jonka asiakas tulostaa käytettäväksi tulliasioinnin eri vaiheissa sekä arkistointia varten. Viennin ja Passituksen järjestelmissä PDF-muotoiset asiakirjat pakataan ZIP-arkistoon, koska pakkauksen yhteydessä ne kompressoituvat pienempään tilaan. Tuonnin vastaussanomat lähetetään asiakasjärjestelmille suoraan PDF-muodossa. Asiakas noutaa Tullin XML-muotoisen vastaussanoman ja PDF-muotoiset asiakirjat tai asiakirjat sisältävän ZIP-arkiston samalla kertaa, lähettämällä Download-pyynnön suoran sanoma-asioinnin web service-palveluun. Molemmat tietosisällöt sisältyvät samaan web service-palvelun Download-vastaukseen. XML-muotoinen vastaussanoma ja PDF/ZIP-arkisto base64-koodataan ja lisätään välitason XMLdokumenttiin ApplicationResponse. ApplicationResponse base64-koodataan ja lisätään Downloadvastaukseen, jonka web service-palvelu palauttaa asiakkaalle. PDF-tiedosto tai ZIP-arkisto voi olla korkeintaan 2 megatavun (2048 kilotavun) kokoinen. Jos lähetettävän PDF-tiedoston tai ZIP-arkiston koko on yli 2 MB, sitä ei voida toimittaa asiakkaalle suoran sanoma-asioinnin webservice-palvelun kautta. Asiakkaat voivat tarvittaessa sopia tapauskohtaisesti Tullin Sähköisen palvelukeskuksen kanssa maksimikoon ylittävien tiedostojen toimittamisesta. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
18 6 Palvelun tarjoamat operaatiot Suoran sanoma-asioinnin web service palvelu sisältää seuraavat SOAP-operaatiot: 6.1 Tullin toteuttamat palvelut Upload = Käytetään yhden tietokokonaisuuden esimerkiksi tulli-ilmoituksen toimittamiseen Tullin järjestelmiin. DownloadList = Tuottaa listan hakemista (download) odottavien vastaussanomien perustiedosta. Tämän toiminnon vastauksena saatuja tietoja voidaan käyttää hakuavaimena download-toiminnossa Download = Käytetään yhden tietokokonaisuuden hakemiseen Tullin järjestelmistä. Toiminnolla voidaan esimerkiksi hakea vastaus aikaisemmin lähetettyyn tulli-ilmoitukseen. CheckConnectivity = Käytetään testauksiin, joiden avulla voidaan todentaa tekninen yhteensopivuus asiakkaan ja Tullin järjestelmien välillä 6.2 Asiakkaan toteuttama palvelu Jos asiakkaalla on käytössä Sanomatiedotepalvelu, Tullin toteuttama Notify kutsuu asiakkaan palvelua Notify = Kutsutaan asiakkaan toteuttamaa palvelua, jotta voidaan ilmoittaa asiakkaalle Tullin järjestelmässä odottavasta vastaussanomasta. 6.3 Palvelun operaatiot WSDL:ssä WSDL:ssä palvelun toiminnallisuus on ryhmitelty loogisiksi operaatioiksi. Operaatio koostuu tyypillisesti kahdesta toisiinsa liittyvästä (pää)tietoelementistä: kysely ja vastaus. Sanomavälitysrajapinta tarjoaa alla olevien taulukkojen mukaiset operaatiot Upload Operaatio Kuvaus Upload Käytetään yhden tietokokonaisuuden esimerkiksi Tulli-ilmoituksen sisältävän sanoman toimittamiseen Tullin järjestelmiin. Toiminnon lopputuloksena saadaan tekninen kuittaus sanoman vastaanotosta (=otettu käsittelyyn). Teknisen kuittauksen jälkeen sanoman tietokokonaisuus, esim Tulli-ilmoitus käsitellään Tullin järjestelmässä. Jatkokäsittely tuottaa (yleensä) lopuksi vastaussanoman, joka pitää hakea erikseen erillisellä download -operaatiolla. Lista haettavissa olevista sanomia voidaan hakea DownloadList -operaatiolla (katso seuraavat operaatiot) tai mikäli käytössä on sanomatiedotepalvelu Tullin järjestelmä lähettää sanomatiedotteen, joka kertoo noutamista odottavasta sanomasta. Kysely UploadRequest RequestHeader Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
19 ApplicationRequestMessage Vastaus UploadResponse ResponseHeader Taulukko 1: Upload MessageInformation Upload, kysely Kuva 8: Upload, kysely Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
20 ApplicationRequest: Kuva 9: ApplicationRequest:in kuvaus Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
21 Upload, vastaus Kuva 10: Upload, vastaus Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
22 6.3.2 DownloadList Operaatio Kuvaus DownloadList Käytetään tietolistan hakemiseen Tullin järjestelmistä. Sisältää listan hakemista (download) odottavien vastaussanomien perustiedosta. Tämä toiminnon vastauksena saatuja tietoja voidaan käyttää hakuavaimena download -toiminnossa.. Kysely DownloadListRequest RequestHeader DownloadMessageListFilteringCriteria Vastaus DownloadListResponse ResponseHeader DownloadMessageListFilteringCriteria Taulukko 2: DownloadList MessageInformation DownloadList, kysely DownLoadList kyselyn hakuaikaikkunan voi määritellä käyttämällä joko Timestamp tai Date elementtejä. Suositeltavaa on käyttää Timestampeja koska Timestamp elementillä voidaan haku rajata tarkemmin, jolloin hakutoiminto on nopeampi ja tehokkaampi. Varsinkin, jos DownloadList kyselyä tehdään esim. viiden minuutin välein, on järkevämpää kysyä viimeisen puolen tunnin tai tunnin sanomia kuin aina koko vuorokauden. Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
23 Kuva 11: DownloadList, kysely elementeillä Startdate ja EndDate Kuva 12: DownloadList, kysely elementeillä StartTimestamp ja EndTimestamp Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
24 DownloadList, vastaus Kuva 13: DownloadList, vastaus Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
25 6.3.3 Download Operaatio Kuvaus Download Käytetään yhden tietokokonaisuuden hakemiseen Tullin järjestelmistä. Toiminnolla voidaan esimerkiksi hakea vastaus aikaisemmin lähetettyyn Tulli-ilmoitukseen. Kysely DownloadRequest RequestHeader DownloadMessageFilteringCriteria Vastaus DownloadResponse ResponseHeader ApplicationResponseMessageInformation Taulukko 3: Download ApplicationResponseMessage Download, kysely Kuva 14: Download, kysely Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
26 Download, vastaus Kuva 15: Download, vastaus Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
27 ApplicationResponse Kuva 16: ApplicationResponse:n kuvaus Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67
28 6.3.4 Notify Operaatio Kuvaus Notify Käytetään kun Tulli ilmoittaa asiakkaalle, että noutamista odottaa sanoma. Edellyttää, että asiakas on rakentanut palvelun, jota Tulli voi kutsua. Jokaista noutamista odottavaa sanomaa kohden lähtee yksi palvelukutsu. Kysely NotifyRequest RequestHeader MessageInformation Vastaus NotifyResponse ResponseHeader ResponseCode Taulukko 4: Notify ResponceText Suomen Tulli Sanomapohjainen asiointi Tullissa: Tekninen opas, päivitetty /67