Integracja Obieg Dokumentów - GiS Spis treści



Podobne dokumenty
- wewnątrz elementów prostych występuje tylko jeden typ danych, wewnątrz złoŝonych nie moŝemy dokładnie określić liczby wystąpień elementu

Rzeszów, dnia 18 czerwca 2015 r. Poz UCHWAŁA NR IX RADY MIEJSKIEJ W BOGUCHWALE. z dnia 28 maja 2015 r.

Załącznik nr 14 Struktura logiczna korekty informacji podsumowującej o dokonanych wewnątrzwspólnotowych dostawach/nabyciach towarów (VAT-UEK)

SPECYFIKACJA WYMIANY DANYCH POMIĘDZY PROGRAMEM KS-APTEKA WINDOWS I SKLEPEM INTERNETOWYM FIRMY ZEWNĘTRZNEJ

Dokumentacja podłączeniowa dla procesu przenoszenia danych osobowych. Czyli opis jak skorzystać z usługi: rodotransferservice

Załączniki do rozporządzenia Ministra Finansów z dnia 2011 r. (poz. ) Załącznik nr 1. Struktura logiczna urzędowego poświadczenia odbioru

(Dz. U. z dnia 17 listopada 2006 r.)

Rozdział ten przedstawia jeden ze sposobów implementacji usług sieciowych XML i aplikacji klienckich w PHP. Oprogramowanie

Nazwa pliku XSD:

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

Struktura logiczna zgłoszenia aktualizacyjnego osoby fizycznej nieprowadzącej samodzielnie działalności gospodarczej (NIP-3)

UCHWAŁA NR IX RADY MIEJSKIEJ W BOGUCHWALE. z dnia 28 maja 2015 r.

1. Uruchomić i skonfigurować środowisko tworzenia aplikacji i serwer aplikacji.

Format elektroniczny deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi oraz układ informacji i powiązań między nimi

Warszawa, dnia 5 stycznia 2012 r. Pozycja 18 ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 3 stycznia 2012 r.

Dokumentacja techniczna interfejsu komunikacyjnego Cyfrowego Urzędu z systemami EOD

Programowanie komponentowe

Załącznik do rozporządzenia. Ministra Finansów z dnia września 2006 r. (poz. )

Sieciowe programowanie rozproszone SOA, WebServices i systemy gridowe. Krzysztof Banaś Systemy rozproszone 1

MINISTERSTWO FINANSÓW PLAN INTEGRACJI SYSTEMU ZAŁĄCZNIK NR 6 SEAP SPECYFIKACJA KANAŁ DLA PODMIOTÓW ZEWNĘTRZNYCH PL PROJEKT ECIP/SEAP

Instrukcja integratora - obsługa dużych plików w epuap2

Projekt z dnia 20 grudnia 2006 r. ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 2007 r.

elektroniczna Platforma Usług Administracji Publicznej

COAJRM5D.XSD <?xml version="1.0" encoding="windows-1250"?> <xsd:schema xmlns:xsd=" version="1.0">

Definicja struktury danych XSD dla opisu wzorów dokumentów elektronicznych przyjmowanych w Centralnym Repozytorium Dokumentów

Załącznik Nr 2 do Uchwały Nr XXVI/172/13 Rady Miasta Jedlina-Zdrój z dnia r.

Załączniki do rozporządzenia Ministra Finansów z dnia marca 2008 r. (poz. )

Raport z przebiegu prac czwartej grupy problemowej

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

Język XML Schema. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Dostęp do komponentów EJB przez usługi Web Services

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Załącznik nr 5 do uchwały Nr XXXVIII/775/2013 Rady Miejskiej w Gliwicach z dnia 07 listopada 2013 r.

Schematy aplikacyjne UML i GML dla mapy zasadniczej oraz Modelu Podstawowego. Rozdział 1 Założenia podstawowe

MINISTERSTWO SPRAW WEWNĘTRZNYCH I ADMINISTRACJI DEPARTAMENT INFORMATYZACJI

SZCZEGÓŁOWY OPIS INTERFEJSU WYMIANY DANYCH

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

Techniczny opis rozwiązania dla udostępniania danych pomiarowych i zagregowanych z wykorzystaniem standardu AS4

Katalog książek cz. 3: Web Service

XML extensible Markup Language. część 4

Warszawa, dnia 10 kwietnia 2012 r. Poz. 387 ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia 4 kwietnia 2012 r.

Ministerstwo Finansów Departament Informatyzacji Usług Publicznych

Załącznik nr 7 Wytyczne do wdrożenia rozwiązań technicznych

BGK Zlecenia (Ferryt Enterprise)

ROZPORZĄDZENIE MINISTRA FINANSÓW 1) z dnia r.

Szczecin, r. Copyright (c) 2015 Izba Skarbowa w Szczecinie. Izba Skarbowa w Szczecinie

Elektroniczna wymiana danych (EDI) jest to: - wymiana informacji pomiędzy komputerami, z użyciem powszechnie akceptowanych standardów

Modelowanie, projektowanie i implementacja usług Web Services. Maciej Zakrzewicz

Ministerstwo Finansów Departament Informatyki

Raporty e-zla dla płatników. Instrukcja dla producentów programów płacowo-kadrowych. Jak skorzystać z usługi automatycznego pobierania?

Struktura logiczna informacji o przychodach (dochodach) wypłaconych lub postawionych do dyspozycji faktycznemu albo po

Zaawansowane aplikacje internetowe. Wykład 6. Wprowadzenie do Web Services. wykład prowadzi: Maciej Zakrzewicz. Web Services

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema. Elementy czy atrybuty? Wartości domyślne i ustalone. Elementy czy atrybuty?

System DiLO. Opis interfejsu dostępowego v. 2.0

Wybrane problemy modelu usługowego

Szczegółowy Opis Interfejsu Wymiany Danych. Załącznik nr 1.8.

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Dokumentacja API BizIn

Automatyczne generowanie kodu. 4Developers, 26 marca 2010

Rozproszone technologie Web Services

ezwroty WebApi Dokumentacja techniczna

Definiowanie typów dokumentów Część 2. Przestrzenie nazw, XML Schema

extensible Markup Language, cz. 4 Marcin Gryszkalis, mg@fork.pl

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŁÓDZKIEGO

CELAB. Specyfikacja protokołów przesyłania wyników badań

Część I -ebxml. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska Opole zlipinski@math.uni.opole.pl

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Specyfikacja interfejsów usług Jednolitego Pliku Kontrolnego

UCHWAŁA NR LII/1230/14 RADY MIASTA KATOWICE. z dnia 30 lipca 2014 r.

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

Aspekty techniczne korzystania z systemu e-deklaracje

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Projekt z dnia 10 grudnia 2010 r.

SCHEMAT DOKUMENTÓW OTRZYMYWANYCH Z ZUS ZAWIERAJĄCYCH INFORMACJE ZGROMADZONE W SYSTEMIE INFORMATYCZNYM ZUS

XML w elektronicznej wymianie danych i integracji aplikacji

WebNotarius. Specyfikacja techniczna komunikacji z usługą WebNotarius. wersja 1.1

Rola języka XML narzędziem

Komunikacja i wymiana danych

Urzędowa Poczta Elektroniczna (UPE)

UCHWAŁA NR... RADY MIASTA KATOWICE. z dnia... r.

Opis usługi WebService7 v Usługa WebService7 W. WebMobile7

Załączniki do rozporządzenia Ministra Finansów z dnia grudnia 2010 r. (poz. ) Załącznik nr 1

Mechanizmy pracy równoległej. Jarosław Kuchta

<meta:wartosc> </meta:identyfikator> <meta:rodzajrelacji>maczesc</meta:rodzajrelacji>

Schematy XML. Tomasz Traczyk.

UDDI & WSDL wykład 10

Import dokumentów z plików XML część II

Dokumentacja API BizIn

Załącznik Nr 1 do Uchwały Nr XX/356/11 Rady Miasta Gdańska z dnia 24 listopada 2011 r.

Rozdział 1 Cel dokumentu Rozdział 2 Deklaracja Rozdział 3 Nagłówek Rozdział 4 Podmiot Rozdział 5 FATCA...

Opis usługi WebService7 v Usługa WebService7 W. WebMobile7

Projekt e-deklaracje 2

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Specyfikacja techniczna. mprofi Interfejs API

Dokumentacja Techniczna SMS MO

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

Ministerstwo Finansów

Przykładowa integracja systemu Transferuj.pl

Transkrypt:

Integracja Obieg Dokumentów - GiS Spis treści 1.Opis integracji.... 2 2.Interfejs po stronie Obiegu Dokumentów... 4 3.Interfejs po stronie Gis-u.... 7 4.Schematy przesyłanych plików xml.... 8 1

1. Opis integracji. Integracja między systemami zostanie oparta o protokół SOAP. Systemy połączone zostaną usługą sieciową wykorzystującą pliki XML do przekazywania danych. Rysunek 1 przedstawia diagram sekwencji integracji. Rysunek 1: Diagram komunikacji Komunikaty wynikowe są w formacie liczbowym. Każda metoda zwraca 1 jeśli wykonała się poprawnie, 0 jeśli w trakcie wykonywania wystąpił błąd. Parametry kontrahent_xml oraz 2

dokument_xml są zakodowanymi w base64 plikami xml zgodnymi ze schematami xsd: dokument.xsd oraz kontrahent.xsd. Opis wymiany danych pomiędzy systemami: zalozsprawe (GIS->Obieg Dokumentów) system GIS przesyła do systemu Obiegu Dokumentów żądanie założenia sprawy zawierające identyfikator dokumentu z systemu Eobieg, numer kategorii JRWA oraz identyfikator użytkownika z systemu Obiegu Dokumentów zakładającego sprawę. W momencie otrzymania takiego żądania w systemie Obiegu Dokumentów wykonywane są czynności związane z założeniem sprawy następnie odsyłana jest informacja do systemu GIS zawierająca identyfikator sprawy z systemu Obiegu Dokumentów wraz z numerem sprawy. System GIS powinien stworzyć z dokumentu którego dotyczyło pierwsze żądanie sprawę o numerze otrzymanym z systemu Obiegu Dokumentów. Jednocześnie w celu późniejszej wymiany danych system GIS powinien powiązać założoną sprawę z otrzymanym identyfikatorem sprawy z systemu Obiegu Dokumentów; przypiszdokumentdosprawy (GIS-> Obieg Dokumentów) system GIS przesyła do systemu Eobieg żądanie przypisania wcześniej otrzymanego dokumentu do sprawy zawierające identyfikator dokumentu z systemu Obiegu Dokumentów oraz identyfikator sprawy z systemu Obiegu Dokumentów. System Obiegu Dokumentów po otrzymaniu żądania wykonuje czynności związane z przypisaniem dokumentu do sprawy; zglosblednadekretacje (GIS-> Obieg Dokumentów) system GIS przesyła do systemu Obiegu Dokumentów informację o błędnej dekretacji wcześniej otrzymanego dokumentu zawierającą identyfikator dokumentu z systemu Obiegu Dokumentów oraz komentarz. System Obiegu Dokumentów po odebraniu żądania dokonuje cofnięcia błędnej dekretacji; zmienstatussprawy (GIS-> Obieg Dokumentów) system Gis w momencie zmiany statusu sprawy wysyła do systemu Obiegu Dokumentów informację o tym zawierającą identyfikator sprawy z systemu Obiegu Dokumentów oraz identyfikator statusu z systemu Obiegu Dokumentów; System Obiegu Dokumentów po otrzymaniu żądania dokonuje zmiany stanu sprawy; zarejestrujdokument (GIS->Obieg Dokumentów) system GIS przesyła nowy dokument do systemu Obiegu Dokumentów z żądaniem zarejestrowania dokumentu w systemie Obiegu Dokumentów. W parametrze żądania przesyłana jest informacja do którego pracownika należy przypisać przesłany dokument. System Obiegu Dokumentów po otrzymaniu dokumentu rejestruje go w swojej bazie danych; zarejestrujdokument(obiegu Dokumentów ->GIS) system Obiegu Dokumentów przesyła nowy dokument do systemu GIS z żądaniem zarejestrowania dokumentu w systemie GIS. W parametrze żądania przesyłana jest informacja do którego pracownika należy przypisać przesłany dokument. System GIS po otrzymaniu dokumentu sprawdza czy kontrahent który złożył dokument istnieje w jego bazie. Jeżeli nie dodaje go do bazy jeżeli tak to rejestruje dokument w swojej bazie danych; zmianadanychkontrahenta (GIS-> Obieg Dokumentów) system GIS przesyła do systemu Eobieg informację o zmianie danych kontrahenta zawierającą identyfikator użytkownika dokonującego zmiany z systemu Eobieg oraz dane kontrahenta który uległ zmianie. System Eobieg po otrzymaniu żądania dokonuje zmiany danych kontrahenta zapisanych w bazie danych; zmianadanychkontrahenta (Obieg Dokumentów ->GIS) system Eobieg przesyła do systemu GIS informację o zmianie danych kontrahenta zawierającą identyfikator użytkownika dokonującego zmiany z systemu Eobieg oraz dane kontrahenta który uległ zmianie. System GIS po otrzymaniu żądania powinien dokonać zmiany danych kontrahenta zapisanych w bazie danych; W celu odpowiedniego działania modułu integrującego obydwa systemy konieczne jest wcześniejsze zintegrowanie danych przechowywanych w obydwu bazach danych. Do tych danych należą: dane kontrahentów (GIS-> Obieg Dokumentów) 3

statusy spraw (GIS-> Obieg Dokumentów) dane użytkowników systemu (GIS-> Obieg Dokumentów) Jednolity Rzeczowy Wykaz Akt (JRWA) (Obieg Dokumentów ->GIS) Dane te powinny zostać wyeksportowane z jednego systemu i przekazane w formie umożliwiającej ich zaimportowanie do drugiego systemu. 1. Interfejs po stronie Obiegu Dokumentów Obieg Dokumentów posiada mechanizm webservice znajdujący się pod adresem: http:// Obieg Dokumentów /gis.php?wsdl. Gdzie ADRES_EOBIEG jest adresem pod jakim widzi Obieg Dokumentów system GIS. Dla przykładu może być to 192.168.0.10/obieg. Na listingu 2.1 pokazany jest interfejs usługi sieciowej obiegu w formacie WSDL. Listing 2.1 1. <definitions name="gis_wsdl" targetnamespace="urn:gis_wsdl" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:gis_wsdl" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns="http://schemas.xmlsoap.org/wsdl/"> 2. <types xmlns="http://schemas.xmlsoap.org/wsdl/"/> 3. 4. <!-- Messages --> 5. <!-- Input parameters for method zalozsprawe --> 6. <message name="zalozsprawerequest"> 7. <part name="id_dokument" type="xsd:string"/> 8. <part name="numer_rwa" type="xsd:string"/> 9. <part name="id_uzytkownik" type="xsd:string"/> 10. </message> 11. <!-- Output for method zalozsprawe --> 12. <message name="zalozspraweresponse"> 13. <part name="zalozsprawe" type="xsd:int"/> 14. </message> 15. <!-- Input parameters for method przypiszdokumentdosprawy --> 16. <message name="przypiszdokumentdosprawyrequest"> 17. <part name="id_dokument_eobieg" type="xsd:int"/> 18. <part name="id_sprawy_eobieg" type="xsd:int"/> 19. </message> 20. <!-- Output for method przypiszdokumentdosprawy --> 21. <message name="przypiszdokumentdosprawyresponse"> 22. <part name="przypiszdokumentdosprawy" type="xsd:int"/> 23. </message> 24. <!-- Input parameters for method zglosblednadekretacje --> 25. <message name="zglosblednadekretacjerequest"> 26. <part name="id_uzytkownik" type="xsd:int"/> 27. <part name="id_dokument_eobieg" type="xsd:int"/> 28. <part name="komentarz" type="xsd:int"/> 29. </message> 30. <!-- Output for method zglosblednadekretacje --> 31. <message name="zglosblednadekretacjeresponse"> 32. <part name="zglosblednadekretacje" type="xsd:int"/> 33. </message> 34. <!-- Input parameters for method zmienstatussprawy --> 35. <message name="zmienstatussprawyrequest"> 36. <part name="id_sprawy_eobieg" type="xsd:int"/> 37. <part name="id_status_eobieg" type="xsd:int"/> 38. </message> 39. <!-- Output for method zmienstatussprawy --> 40. <message name="zmienstatussprawyresponse"> 41. <part name="zmienstatussprawy" type="xsd:int"/> 42. </message> 43. <!-- Input parameters for method zarejestrujdokument --> 44. <message name="zarejestrujdokumentrequest"> 4

45. <part name="dokument_xml" type="xsd:string"/> 46. </message> 47. <!-- Output for method zarejestrujdokument --> 48. <message name="zarejestrujdokumentresponse"> 49. <part name="zarejestrujdokument" type="xsd:int"/> 50. </message> 51. <!-- Input parameters for method zmianadanychkontrahenta --> 52. <message name="zmianadanychkontrahentarequest"> 53. <part name="id_user" type="xsd:string"/> 54. <part name="kotrahent_xml" type="xsd:string"/> 55. </message> 56. <!-- Output for method zmianadanychkontrahenta --> 57. <message name="zmianadanychkontrahentaresponse"> 58. <part name="zmianadanychkontrahenta" type="xsd:int"/> 59. </message> 60. 61. <!-- Ports --> 62. <porttype name="gis_wsdlport"><operation name="zalozsprawe"> 63. <input message="tns:zalozsprawerequest"/> 64. <output message="tns:zalozspraweresponse"/> 65. </operation> 66. <operation name="przypiszdokumentdosprawy"> 67. <input message="tns:przypiszdokumentdosprawyrequest"/> 68. <output message="tns:przypiszdokumentdosprawyresponse"/> 69. </operation> 70. <operation name="zglosblednadekretacje"> 71. <input message="tns:zglosblednadekretacjerequest"/> 72. <output message="tns:zglosblednadekretacjeresponse"/> 73. </operation> 74. <operation name="zmienstatussprawy"> 75. <input message="tns:zmienstatussprawyrequest"/> 76. <output message="tns:zmienstatussprawyresponse"/> 77. </operation> 78. <operation name="zarejestrujdokument"> 79. <input message="tns:zarejestrujdokumentrequest"/> 80. <output message="tns:zarejestrujdokumentresponse"/> 81. </operation> 82. <operation name="zmianadanychkontrahenta"> 83. <input message="tns:zmianadanychkontrahentarequest"/> 84. <output message="tns:zmianadanychkontrahentaresponse"/> 85. </operation> 86. </porttype> 87. 88. <!-- SOAP Bindings --> 89. <binding name="gis_wsdlbinding" type="tns:gis_wsdlport"> 90. <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> 91. <operation name="zalozsprawe"> 92. <soap:operation soapaction="urn:gis_wsdl#gis_wsdl#zalozsprawe"/> 93. <input><soap:body use="encoded" namespace="urn:gis_wsdl" 94. </input> 95. <output> 96. <soap:body use="encoded" namespace="urn:gis_wsdl" 97. </output> 98. </operation> 99. <operation name="przypiszdokumentdosprawy"> 100. <soap:operation soapaction="urn:gis_wsdl#gis_wsdl#przypiszdokumentdosprawy"/> 101. <input><soap:body use="encoded" namespace="urn:gis_wsdl" 102. </input> 103. <output> 104. <soap:body use="encoded" namespace="urn:gis_wsdl" 105. </output> 5

106. </operation> 107. <operation name="zglosblednadekretacje"> 108. <soap:operation soapaction="urn:gis_wsdl#gis_wsdl#zglosblednadekretacje"/> 109. <input><soap:body use="encoded" namespace="urn:gis_wsdl" 110. </input> 111. <output> 112. <soap:body use="encoded" namespace="urn:gis_wsdl" 113. </output> 114. </operation> 115. <operation name="zmienstatussprawy"> 116. <soap:operation soapaction="urn:gis_wsdl#gis_wsdl#zmienstatussprawy"/> 117. <input><soap:body use="encoded" namespace="urn:gis_wsdl" 118. </input> 119. <output> 120. <soap:body use="encoded" namespace="urn:gis_wsdl" 121. </output> 122. </operation> 123. <operation name="zarejestrujdokument"> 124. <soap:operation soapaction="urn:gis_wsdl#gis_wsdl#zarejestrujdokument"/> 125. <input><soap:body use="encoded" namespace="urn:gis_wsdl" 126. </input> 127. <output> 128. <soap:body use="encoded" namespace="urn:gis_wsdl" 129. </output> 130. </operation> 131. <operation name="zmianadanychkontrahenta"> 132. <soap:operation soapaction="urn:gis_wsdl#gis_wsdl#zmianadanychkontrahenta"/> 133. <input><soap:body use="encoded" namespace="urn:gis_wsdl" 134. </input> 135. <output> 136. <soap:body use="encoded" namespace="urn:gis_wsdl" 137. </output> 138. </operation> 139. </binding> 140. 141. <!-- Service (location) --> 142. <service name="gis_wsdl"> 143. <documentation/> 144. <port name="gis_wsdlport" binding="tns:gis_wsdlbinding"><soap:address location="http://localhost:80/eobieg2_zdm_bb/gis.php"/> 145. </port> 146. </service> 147. </definitions> Webservice pokazany na listingu 1 obsługuje metody dostępowe systemu Obiegu Dokumentów. Dla łatwiejszego wyjaśnienia metody widoczne są na listingu 2.2. Listing 2.2 1. public zalozsprawe(int id_dokument, string numer_rwa, int id_uzytkownik) 2. { 3. 4. } 5. 6. 7. public przypiszdokumentdosprawy(int id_dokument_eobieg,int id_sprawy_eobieg) 6

8. { 9. 10. } 11. 12. public zglosblednadekretacje(int id_uzytkownik,int id_dokument_eobieg,string komentarz) 13. { 14. 15. } 16. 17. 18. public zmienstatussprawy(int id_sprawy_eobieg,int id_status_eobieg) 19. { 20. 21. } 22. 23. 24. public zarejestrujdokument(string $dokument_xml) 25. { 26. 27. } 28. 29. public zmianadanychkontrahenta(string id_user,string kotrahent_xml) 30. { 31. 32. } Przykładowe wywołanie webservice z poziomu języka PHP widoczne jest na listingu 2.3. Listing 2.3 1. $klient=new SoapClient("http://192.168.0.10/gis.php?wsdl"); 2. 3. //zakladanie sprawy 4. $klient->zalozsprawe(6913,111,176); W linii 1 listingu 3 następuje połączenie do usługi sieciowej obiegu. W linii 4 wykonana jest metoda zakładająca sprawę w obiegu. 1. Interfejs po stronie Gis-u. Usługa sieciowa po stronie Gis posiada metody widoczne na listingu 3.1. Listing 3.1 public zarejestrujdokument(string $dokument_xml) { } public zmianadanychkontrahenta(string id_user,string kotrahent_xml) { } Powyższe metody powinny zostać zaimplementowane po stronie GIS. 7

2. Schematy przesyłanych plików xml. Parametry metod o nazwie kontahent_xml oraz dokument_xml są przesyłane w postaci zakodowanej base64. Czyli implementacje metod usług sieciowych powinny odkodować zmienne a następnie traktować je jako treść dokumentów xml. Przykład w pseudo kodzie: Listing 4.1 1. public zarejestrujdokument(string dokument_xml) 2. { 3. xml=base64_decode(document_xml) 4. // zmienna xml zawiera treść dokumentu xml 5. } Parametr dokument_xml jest dokumentem w formacie xml zgodnym ze schematem widocznym na listingu 4.2. Listing 4.2: Schemat dokument.xsd. 1. <?xml version="1.0" encoding="utf-8"?> 2. <xsd:schema elementformdefault="qualified" xmlns:xsd="http://www.w3.org/2001/xmlschema" > 3. 4. 5. <xsd:complextype name="dokumenttype"> 6. <xsd:sequence> 7. <xsd:choice maxoccurs="1" minoccurs="1"> 8. minoccurs="0"> <xsd:element name="dogis" type="dogis" maxoccurs="1" 9. </xsd:element> 10. minoccurs="0"> <xsd:element name="doeobieg" type="doeobieg" maxoccurs="1" 11. </xsd:element> 12. </xsd:choice> 13. minoccurs="1"> <xsd:element name="metryczka" type="metryczka" maxoccurs="1" 14. </xsd:element> 15. <xsd:element name="zalaczniki" type="zalaczniki" maxoccurs="1" minoccurs="0"></xsd:element> 16. <xsd:element name="kontrahenci" type="kontrahenci" maxoccurs="1" minoccurs="1"></xsd:element> 17. </xsd:sequence> 18. </xsd:complextype> 19. 20. 21. <xsd:complextype name="dogis"> 22. <xsd:sequence> 23. <xsd:element name="id_dok_eobieg" type="xsd:int" maxoccurs="1" minoccurs="1"></xsd:element> 24. </xsd:sequence> 25. </xsd:complextype> 26. 8

27. <xsd:complextype name="doeobieg"> 28. <xsd:annotation> 29. <xsd:documentation>element występujący przy rejestrowaniu dokumentu z gis w eobieg</xsd:documentation> 30. </xsd:annotation> 31. <xsd:sequence> 32. <xsd:element name="id_sprawy_eobieg" type="xsd:int" maxoccurs="1" minoccurs="1"></xsd:element> 33. <xsd:element name="id_uzytkownik_eobieg" type="xsd:int" maxoccurs="1" minoccurs="1"></xsd:element> 34. </xsd:sequence> 35. </xsd:complextype> 36. 37. <xsd:complextype name="metryczka"> 38. <xsd:sequence> 39. <xsd:element name="data" type="xsd:string" maxoccurs="1" 40. minoccurs="1"> 41. </xsd:element> 42. <xsd:element name="numer" type="xsd:string" maxoccurs="1" 43. minoccurs="1"> 44. </xsd:element> 45. <xsd:element name="opis" type="xsd:string" maxoccurs="1" 46. minoccurs="0"> 47. </xsd:element> 48. <xsd:element name="dostarczono" type="dostarczono" maxoccurs="1" minoccurs="1"></xsd:element> 49. </xsd:sequence> 50. </xsd:complextype> 51. 52. 53. 54. 55. <xsd:complextype name="zalaczniki"> 56. <xsd:sequence> 57. <xsd:element name="zalacznik" type="zalacznik" maxoccurs="unbounded" minoccurs="0"></xsd:element> 58. </xsd:sequence> 59. </xsd:complextype> 60. 61. <xsd:complextype name="kontrahenci"> 62. <xsd:sequence> 63. <xsd:element name="kontrahent" type="kontrahent" maxoccurs="unbounded" minoccurs="1"></xsd:element> 64. </xsd:sequence> 65. </xsd:complextype> 66. 67. <xsd:element name="dokument" type="dokumenttype"></xsd:element> 68. 69. <xsd:complextype name="zalacznik"> 70. <xsd:sequence> 71. <xsd:element name="plik" type="xsd:string" maxoccurs="1" minoccurs="1"></xsd:element> 72. <xsd:element name="podpis" type="xsd:string" maxoccurs="1" minoccurs="0"></xsd:element> 73. </xsd:sequence> 74. <xsd:attribute name="nazwa" type="xsd:string"></xsd:attribute> 9

75. <xsd:attribute name="podpis" type="podpis"></xsd:attribute> 76. </xsd:complextype> 77. 78. 79. 80. <xsd:complextype name="kontrahent"> 81. <xsd:simplecontent> 82. <xsd:extension base="xsd:string"> 83. <xsd:attribute name="status" type="status"></xsd:attribute> 84. </xsd:extension> 85. </xsd:simplecontent> 86. </xsd:complextype> 87. 88. 89. 90. <xsd:simpletype name="podpis"> 91. <xsd:restriction base="xsd:string"> 92. <xsd:enumeration value="zew"></xsd:enumeration> 93. <xsd:enumeration value="wew"></xsd:enumeration> 94. </xsd:restriction> 95. </xsd:simpletype> 96. 97. <xsd:simpletype name="dostarczono"> 98. <xsd:annotation> 99. <xsd:documentation>o - osobiście, 100. m- mailem, 101. f- faxem, 102. p- pocztą 103. e- przez esp</xsd:documentation> 104. </xsd:annotation> 105. <xsd:restriction base="xsd:string"> 106. <xsd:enumeration value="o"></xsd:enumeration> 107. <xsd:enumeration value="p"></xsd:enumeration> 108. <xsd:enumeration value="f"></xsd:enumeration> 109. <xsd:enumeration value="m"></xsd:enumeration> 110. <xsd:enumeration value="e"></xsd:enumeration> 111. </xsd:restriction> 112. </xsd:simpletype> 113. 114. <xsd:simpletype name="status"> 115. <xsd:restriction base="xsd:string"> 116. <xsd:enumeration value="glowny"></xsd:enumeration> 117. <xsd:enumeration value="dodatkowy"></xsd:enumeration> 118. </xsd:restriction> 119. </xsd:simpletype> 120. </xsd:schema> Przykładowy dokument zgodny ze schematem z listingu 4.2. Listing 4.2 1. <?xml version="1.0" encoding="utf-8"?> 2. <dokument> 10

3. <doeobieg> 4. <id_sprawy_eobieg>123</id_sprawy_eobieg> 5. <id_uzytkownik_eobieg>111</id_uzytkownik_eobieg> 6. </doeobieg> 7. <metryczka> 8. <data>data</data> 9. <numer>12</numer> 10. <opis>opis</opis> 11. <dostarczono>o</dostarczono> 12. </metryczka> 13. <zalaczniki> 14. <zalacznik nazwa="nazwa_pliku" podpis="zew" > 15. <plik>base64 zalacznika binarnego</plik> 16. <podpis>base64 podpisu</podpis> 17. </zalacznik > 18. <zalacznik nazwa="nazwa_pliku"> 19. <plik>base64 zalacznika binarnego</plik> 20. </zalacznik> 21. </zalaczniki> 22. <kontrahenci> 23. <kontrahent status="glowny"> 24. base64 kontrahent_xml 25. </kontrahent > 26. <kontrahent status="dodatkowy" > 27. base64 kontrahent_xml 28. </kontrahent> 29. </kontrahenci> 30. </dokument> Przed wysłaniem powinien zostać zakodowany w base64. Parametr kontahent_xml jest dokumentem xml zgodnym ze schematem widocznym na listingu 4.3. Listing 4.3 1. <?xml version="1.0" encoding="utf-8"?> 2. <schema elementformdefault="qualified" xmlns="http://www.w3.org/2001/xmlschema" > 3. 4. <element name="kontrahent"> 5. <complextype> 6. <sequence> 7. <element name="id_eobieg" type="string" maxoccurs="1" 8. minoccurs="1"> 9. </element> 10. <element name="id_typ_eobieg" type="string" maxoccurs="1" minoccurs="1"></element> 11. <element name="nazwa" type="string" maxoccurs="1" 12. minoccurs="1"> 13. </element> 14. <element name="ulica_miejscowosc" type="string" 15. maxoccurs="1" minoccurs="1"> 11

16. </element> 17. <element name="nr_domu" type="string" maxoccurs="1" 18. minoccurs="1"> 19. </element> 20. <element name="kod_pocztowy" type="string" maxoccurs="1" 21. minoccurs="1"> 22. </element> 23. <element name="regon" type="string" maxoccurs="1" 24. minoccurs="0"> 25. </element> 26. <element name="nip" type="string" maxoccurs="1" 27. minoccurs="0"> 28. </element> 29. <element name="poczta" type="string" maxoccurs="1" 30. minoccurs="0"> 31. </element> 32. <element name="telefon" type="string" maxoccurs="1" 33. minoccurs="0"> 34. </element> 35. <element name="telefon_kom" type="string" maxoccurs="1" 36. minoccurs="0"> 37. </element> 38. <element name="email" type="string" maxoccurs="1" 39. minoccurs="0"> 40. </element> 41. <element name="pesel" type="string" maxoccurs="1" 42. minoccurs="0"> 43. </element> 44. <element name="krs" type="string" maxoccurs="1" 45. minoccurs="0"> 46. </element> 47. <element name="fax" type="string" maxoccurs="1" 48. minoccurs="0"> 49. </element> 50. </sequence> 51. </complextype> 52. </element> 53. 54. </schema> Przykładowy dokument zgodny ze schematem z listingu 4.4: Listing 4.4 1. <?xml version="1.0" encoding="utf-8"?> 2. <kontrahent> 3. <id_eobieg>0</id_eobieg> 4. <id_typ_eobieg>1</id_typ_eobieg> 5. <nazwa>nazwa</nazwa> 6. <ulica_miejscowosc>ulica</ulica_miejscowosc> 7. <nr_domu>12</nr_domu> 8. <kod_pocztowy>22-100</kod_pocztowy> 9. <regon>123</regon> 12

10. <nip>123</nip> 11. <poczta>lublin</poczta> 12. <telefon>213123</telefon> 13. <telefon_kom>123213</telefon_kom> 14. <email>mail@mail.pl</email> 15. <pesel>123</pesel> 16. <krs>123</krs> 17. <fax>123</fax> 18. </kontrahent> Przed wysłaniem powinien zostać zakodowany w base64. 13