Załącznik do Zmiany SWZ nr 1

Transkrypt

Załącznik do Zmiany SWZ nr 1
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:SOAPENC="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.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
<part name="id_sprawy_eobieg" type="xsd:int"/>
</message>
<!-- Output for method przypiszDokumentDoSprawy -->
<message name="przypiszDokumentDoSprawyResponse">
<part name="przypiszDokumentDoSprawy" type="xsd:int"/>
</message>
<!-- Input parameters for method zglosBlednaDekretacje -->
<message name="zglosBlednaDekretacjeRequest">
<part name="id_uzytkownik" type="xsd:int"/>
<part name="id_dokument_eobieg" type="xsd:int"/>
<part name="komentarz" type="xsd:int"/>
</message>
<!-- Output for method zglosBlednaDekretacje -->
<message name="zglosBlednaDekretacjeResponse">
<part name="zglosBlednaDekretacje" type="xsd:int"/>
</message>
<!-- Input parameters for method zmienStatusSprawy -->
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<message name="zmienStatusSprawyRequest">
<part name="id_sprawy_eobieg" type="xsd:int"/>
<part name="id_status_eobieg" type="xsd:int"/>
</message>
<!-- Output for method zmienStatusSprawy -->
<message name="zmienStatusSprawyResponse">
<part name="zmienStatusSprawy" type="xsd:int"/>
</message>
<!-- Input parameters for method zarejestrujDokument -->
<message name="zarejestrujDokumentRequest">
4
45.
46.
47.
48.
49.
50.
51.
<part name="dokument_xml" type="xsd:string"/>
</message>
<!-- Output for method zarejestrujDokument -->
<message name="zarejestrujDokumentResponse">
<part name="zarejestrujDokument" type="xsd:int"/>
</message>
<!-- Input parameters for method zmianaDanychKontrahenta -->
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
<message name="zmianaDanychKontrahentaRequest">
<part name="id_user" type="xsd:string"/>
<part name="kotrahent_xml" type="xsd:string"/>
</message>
<!-- Output for method zmianaDanychKontrahenta -->
<message name="zmianaDanychKontrahentaResponse">
<part name="zmianaDanychKontrahenta" type="xsd:int"/>
</message>
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
</operation>
<operation name="zglosBlednaDekretacje">
<input message="tns:zglosBlednaDekretacjeRequest"/>
<output message="tns:zglosBlednaDekretacjeResponse"/>
</operation>
<operation name="zmienStatusSprawy">
<input message="tns:zmienStatusSprawyRequest"/>
<output message="tns:zmienStatusSprawyResponse"/>
</operation>
<operation name="zarejestrujDokument">
<input message="tns:zarejestrujDokumentRequest"/>
<output message="tns:zarejestrujDokumentResponse"/>
</operation>
<operation name="zmianaDanychKontrahenta">
<input message="tns:zmianaDanychKontrahentaRequest"/>
<output message="tns:zmianaDanychKontrahentaResponse"/>
</operation>
<!-- Ports -->
<portType name="Gis_WsdlPort"><operation name="zalozSprawe">
<input message="tns:zalozSpraweRequest"/>
<output message="tns:zalozSpraweResponse"/>
</operation>
<operation name="przypiszDokumentDoSprawy">
<input message="tns:przypiszDokumentDoSprawyRequest"/>
<output message="tns:przypiszDokumentDoSprawyResponse"/>
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"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
94.
</input>
95.
<output>
96.
<soap:body use="encoded" namespace="urn:Gis_Wsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
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"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
102.
</input>
103.
<output>
104.
<soap:body use="encoded" namespace="urn:Gis_Wsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
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"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
110.
</input>
111.
<output>
112.
<soap:body use="encoded" namespace="urn:Gis_Wsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
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"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
118.
</input>
119.
<output>
120.
<soap:body use="encoded" namespace="urn:Gis_Wsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
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"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
126.
</input>
127.
<output>
128.
<soap:body use="encoded" namespace="urn:Gis_Wsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
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"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
134.
</input>
135.
<output>
136.
<soap:body use="encoded" namespace="urn:Gis_Wsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
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.
2.
3.
4.
5.
6.
7.
public zalozSprawe(int id_dokument, string numer_rwa, int id_uzytkownik)
{
}
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.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public zmienStatusSprawy(int id_sprawy_eobieg,int id_status_eobieg)
{
}
public zarejestrujDokument(string $dokument_xml)
{
}
public zmianaDanychKontrahenta(string id_user,string kotrahent_xml)
{
}
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.
2.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
3.
4.
5.
6.
7.
8.
<xsd:complexType name="dokumentType">
<xsd:sequence>
<xsd:choice maxOccurs="1" minOccurs="1">
<xsd:element name="dogis" type="dogis" maxOccurs="1"
minOccurs="0">
9.
10.
</xsd:element>
<xsd:element name="doeobieg" type="doeobieg" maxOccurs="1"
minOccurs="0">
11.
12.
13.
</xsd:element>
</xsd:choice>
<xsd:element name="metryczka" type="metryczka" maxOccurs="1"
minOccurs="1">
14.
15.
</xsd:element>
<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.
18.
</xsd:sequence>
</xsd:complexType>
19.
20.
21.
22.
23.
<xsd:complexType name="dogis">
<xsd:sequence>
<xsd:element name="id_dok_eobieg" type="xsd:int" maxOccurs="1"
minOccurs="1"></xsd:element>
24.
25.
</xsd:sequence>
</xsd:complexType>
26.
8
27.
28.
29.
<xsd:complexType name="doeobieg">
<xsd:annotation>
<xsd:documentation>element występujący przy rejestrowaniu dokumentu z
gis w eobieg</xsd:documentation>
30.
31.
32.
</xsd:annotation>
<xsd:sequence>
<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.
35.
</xsd:sequence>
</xsd:complexType>
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
<xsd:complexType name="metryczka">
<xsd:sequence>
<xsd:element name="data" type="xsd:string" maxOccurs="1"
minOccurs="1">
</xsd:element>
<xsd:element name="numer" type="xsd:string" maxOccurs="1"
minOccurs="1">
</xsd:element>
<xsd:element name="opis" type="xsd:string" maxOccurs="1"
minOccurs="0">
</xsd:element>
<xsd:element name="dostarczono" type="dostarczono" maxOccurs="1"
minOccurs="1"></xsd:element>
49.
50.
</xsd:sequence>
</xsd:complexType>
51.
52.
53.
54.
55.
56.
57.
<xsd:complexType name="zalaczniki">
<xsd:sequence>
<xsd:element name="zalacznik" type="zalacznik" maxOccurs="unbounded"
minOccurs="0"></xsd:element>
58.
59.
</xsd:sequence>
</xsd:complexType>
60.
61.
62.
63.
<xsd:complexType name="kontrahenci">
<xsd:sequence>
<xsd:element name="kontrahent" type="kontrahent"
maxOccurs="unbounded" minOccurs="1"></xsd:element>
64.
65.
</xsd:sequence>
</xsd:complexType>
66.
67.
<xsd:element name="dokument" type="dokumentType"></xsd:element>
68.
69.
70.
71.
<xsd:complexType name="zalacznik">
<xsd:sequence>
<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.
74.
</xsd:sequence>
<xsd:attribute name="nazwa" type="xsd:string"></xsd:attribute>
9
75.
76.
<xsd:attribute name="podpis" type="podpis"></xsd:attribute>
</xsd:complexType>
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
<xsd:complexType name="kontrahent">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="status" type="status"></xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
87.
88.
89.
90.
91.
92.
93.
94.
95.
<xsd:simpleType name="podpis">
97.
98.
99.
<xsd:simpleType name="dostarczono">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="zew"></xsd:enumeration>
<xsd:enumeration value="wew"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
96.
<xsd:annotation>
<xsd:documentation>o - osobiście,
100.
101.
102.
m- mailem,
f- faxem,
p- pocztą
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
e- przez esp</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="o"></xsd:enumeration>
<xsd:enumeration value="p"></xsd:enumeration>
<xsd:enumeration value="f"></xsd:enumeration>
<xsd:enumeration value="m"></xsd:enumeration>
<xsd:enumeration value="e"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
113.
114.
115.
116.
117.
118.
119.
120.
<xsd:simpleType name="status">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="glowny"></xsd:enumeration>
<xsd:enumeration value="dodatkowy"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Przykładowy dokument zgodny ze schematem z listingu 4.2.
Listing 4.2
1.
2.
<?xml version="1.0" encoding="UTF-8"?>
<dokument>
10
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<doeobieg>
<id_sprawy_eobieg>123</id_sprawy_eobieg>
<id_uzytkownik_eobieg>111</id_uzytkownik_eobieg>
</doeobieg>
<metryczka>
<data>data</data>
<numer>12</numer>
<opis>opis</opis>
<dostarczono>o</dostarczono>
</metryczka>
<zalaczniki>
<zalacznik nazwa="nazwa_pliku" podpis="zew" >
<plik>base64 zalacznika binarnego</plik>
<podpis>base64 podpisu</podpis>
</zalacznik >
<zalacznik nazwa="nazwa_pliku">
<plik>base64 zalacznika binarnego</plik>
</zalacznik>
</zalaczniki>
<kontrahenci>
<kontrahent status="glowny">
base64 kontrahent_xml
24.
25.
26.
</kontrahent >
<kontrahent status="dodatkowy" >
base64 kontrahent_xml
27.
28.
29.
30.
</kontrahent>
</kontrahenci>
</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.
2.
<?xml version="1.0" encoding="UTF-8"?>
4.
5.
6.
7.
8.
9.
10.
<element name="kontrahent">
<schema elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema"
>
3.
<complexType>
<sequence>
<element name="id_eobieg" type="string" maxOccurs="1"
minOccurs="1">
</element>
<element name="id_typ_eobieg" type="string" maxOccurs="1"
minOccurs="1"></element>
11.
12.
13.
14.
15.
<element name="nazwa" type="string" maxOccurs="1"
minOccurs="1">
</element>
<element name="ulica_miejscowosc" type="string"
maxOccurs="1" minOccurs="1">
11
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
</element>
<element name="nr_domu" type="string" maxOccurs="1"
minOccurs="1">
</element>
<element name="kod_pocztowy" type="string" maxOccurs="1"
minOccurs="1">
</element>
<element name="regon" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="nip" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="poczta" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="telefon" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="telefon_kom" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="email" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="pesel" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="krs" type="string" maxOccurs="1"
minOccurs="0">
</element>
<element name="fax" type="string" maxOccurs="1"
minOccurs="0">
</element>
</sequence>
</complexType>
</element>
53.
54.
</schema>
Przykładowy dokument zgodny ze schematem z listingu 4.4:
Listing 4.4
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="UTF-8"?>
<kontrahent>
<id_eobieg>0</id_eobieg>
<id_typ_eobieg>1</id_typ_eobieg>
<nazwa>nazwa</nazwa>
<ulica_miejscowosc>ulica</ulica_miejscowosc>
<nr_domu>12</nr_domu>
<kod_pocztowy>22-100</kod_pocztowy>
<regon>123</regon>
12
10.
11.
12.
13.
14.
15.
16.
17.
18.
<nip>123</nip>
<poczta>Lublin</poczta>
<telefon>213123</telefon>
<telefon_kom>123213</telefon_kom>
<email>[email protected]</email>
<pesel>123</pesel>
<krs>123</krs>
<fax>123</fax>
</kontrahent>
Przed wysłaniem powinien zostać zakodowany w base64.
13

Podobne dokumenty