ΓΕΝ.ΓΡΑΜΜΑΤΕΙΑ ΕΜΠΟΡΙΟΥ ΠΡΟΔΙΑΓΡΑΦΕΣ ΥΠΗΡΕΣΙΩΝ ΙΣΤΟΥ (WEB SERVICES) ΤΟΥ ΠΑΡΑΤΗΡΗΤΗΡΙΟΥ ΤΙΜΩΝ (e-prices.gr) 1. Προδιαγραφές Υπηρεσιών Ιστού (Web Services) Το Παρατηρητήριο Τιμών (e-prices.gr) δημιουργήθηκε με στόχο να παρέχει στον πολίτη τη δυνατότητα να παρακολουθήσει τις τιμές προϊόντων ταχείας κατανάλωσης (σούπερμάρκετ) και να βρει τα σημεία πώλησης με τις χαμηλότερες τιμές σε όλη την επικράτεια και ανά περιοχή. Το συγκεκριμένο έγγραφο περιγράφει τις υπηρεσίες ιστού (web-services) που υποστηρίζονται από το Παρατηρητήτριο Τιμών με στόχο την περαιτέρω δημοσιοποίηση και διάθεση των πληροφοριών που παρέχει το Παρατηρητήριο Τιμών της Γενικής Γραμματείας Εμπορίου στο ευρύ κοινό. Στα ακόλουθα περιγράφονται οι προδιαγραφές για την υλοποίηση των web-services με στόχο τη διασύνδεση του portal e-prices.gr με άλλα websites. Οι λειτουργίες διασύνδεσης που έχουν υλοποιηθεί απαντούν σε επερωτήματα που στέλνουν άλλα web-sites στο Παρατηρητήριο Τιμών με στόχο να αντλήσουν πληροφορίες για τις τιμές συγκεκριμένων προϊόντων ή όλων των προϊόντων σε μία κατηγορία σε συγκεκριμένα σημεία πώλησης. Για να επιτευχθεί αυτό έχουν υλοποιηθεί συγκεκριμένες υπηρεσίες ιστού (web-services) οι οποίες δέχονται τα επερωτήματα από τρίτα web-sites και επιστρέφουν τα ζητούμενα αποτελέσματα με τη μορφή XML αρχείων. Τα web services του παρατηρητηρίου τιμών ακολουθούν λογική REST και απαντούν σε GET requests ως ακολούθως: http://services.e-prices.gr/<όνομα web service>?<παράμετροι> Προσοχή στη χρήση κεφαλαίων, πεζών χαρακτήρων, καθώς οι παράμετροι είναι case sensitive.
Πάραδειγμα κλήσης: http://services.e-prices.gr/getprices?ui=ui_pou_exei_xorigithei&down=200&up=220 όπου ui αντιστοιχεί στον κωδικό που έχει χορηγηθεί από το σύστημα και down & up είναι 2 παράμετροι για το συγκεκριμένο web service που αντιστοιχούν στο κάτω και άνω όριο για το id των καταστημάτων που πρέπει να φέρει όλες τις τιμές όλων των προϊόντων. To ιδανικό είναι οι τιμές να παίρνονται σε buckets των 20 καταστημάτων. Το εύρος τιμών καταστημάτων είναι από 1 εώς 1000. Τα συγκεκριμένα επερωτήματα που έχουν υλοποιηθεί περιλαμβάνουν: Έλεγχος διαθεσιμότητας Υπηρεσιών checkwsavailabilityws Το εν λόγω web service επιστρέφει μήνυμα λάθους στην περίπτωση που οι υπηρεσίες δεν είναι διαθέσιμες διαφορετικά ένα μήνυμα ON που δηλώνει ότι οι υπηρεσίες λειτουργούν. Χρειάζεται ως παράμετρος το ui. Λίστα με όλες τις περιοχές GetAreasWebService Το συγκεκριμένο web service επιστρέφει XML αρχείο με την ιεραρχική δομή της λίστας γεωγραφικών περιοχών που υπάρχουν στη βάση του Παρατηρητηρίου με τον αντίστοιχο κωδικό της περιοχής. Λίστα με όλα τα σημεία πώλησης - GetShopsWebService Το συγκεκριμένο web service επιστρέφει XML αρχείο με όλα τα σημεία πώλησης που υπάρχουν στη βάση του Παρατηρητηρίου. Για κάθε σημείο πώλησης επιστρέφονται: (id, όνομα αλυσίδας, περιγραφή καταστήματος). Δεν υπάρχει προς το παρόν η δυνατότητα να επιστρέφεται Διεύθυνση και Τ.Κ. καταστήματος. Λίστα με κατηγορίες προϊόντων - GetCategoriesWS Το συγκεκριμένο web service επιστρέφει XML αρχείο με όλες τις κατηγορίες προϊόντων τελευταίου επιπέδου που υπάρχουν στη βάση του Παρατηρητηρίου. Για κάθε κατηγορία προϊόντων επιστρέφονται: (id, όνομα κατηγορίας). Λίστα με προϊόντα μίας κατηγορίας - GetProductsOfACategoryWS Το συγκεκριμένο web service επιστρέφει XML αρχείο με όλα τα προϊόντα που ανήκουν σε μία κατηγορία προϊόντος. Δέχεται ως όρισμα το ID της κατηγορίας και επιστρέφει λίστα προϊόντων (id, περιγραφή προϊόντος). Τιμή προϊόντος σε σημείο πώλησης - GetPriceOfAProductatShopWS 2
Το συγκεκριμένο web service επιστρέφει XML αρχείο με την τιμή του προϊόντος σε σημείο πώλησης. Δέχεται ως όρισμα το ID του προϊόντος και του σημείου πώλησης και επιστρέφει τιμή και ημερομηνία λήψης. Μικρότερη τιμή προϊόντος ανά γεωγραφική περιοχή - GetMinimumPriceOfAProductatPlaceWS Το συγκεκριμένο web service δέχεται ως όρισμα το id της περιοχής και το id προϊόντος και επιστρέφει τα καταστήματα με την ελάχιστη τιμή στη γεωγραφική περιοχή, την ελάχιστη τιμή και την ημερομηνία τελευταίας τιμοληψίας. Μικρότερη τιμή κατηγορίας προϊόντων ανά γεωγραφική περιοχή- GetMinimumPriceOfACategoryatPlaceWS Το συγκεκριμένο web service δέχεται ως όρισμα τον κωδικό κατηγορίας, το id της περιοχής και επιστρέφει τη χαμηλότερη τιμή για την κατηγορία αυτή, μαζί με τα προϊόντα που περιλαμβάνει αυτή η κατηγορία και τις ελάχιστες τιμές προϊόντων με τα αντίστοιχα καταστήματα που τις παρέχουν. Λίστα με τα καταστήματα μίας γεωγραφικής Περιοχής - getshopsofanareaws Αυτό το web service δέχεται σαν όρισμα το id της περιοχής και επιστρέφει ως αποτέλεσμα όλα τα καταστήματα της περιοχής αυτής. Για κάθε σημείο πώλησης επιστρέφονται: (id, όνομα αλυσίδας, περιγραφή καταστήματος). Λίστα με Προϊόντα - getproductsws Αυτό το web service επιστρέφει ένα xml document με τη λίστα από όλα τα προϊόντα. Για κάθε προϊόν επιστρέφονται: id,περιγραφή προϊόντος και η περιγραφή κατηγορίας στην οποία ανήκει. Επίσης να σημειωθεί ότι όλα τα web-services δέχονται ως έξτρα παράμετρο το ui (Unique Identifier) του χρήστη που έκανε το request, ώστε να υπάρχει έλεγχος πρόσβασης στο webservice. Το συγκεκριμένο ui αποδίδεται σε κάθε χρήστη από την υπηρεσία του Παρατηρητηρίου ύστερα από τη συμπλήρωση του σχετικού αιτήματος. Επίσης όλα τα requests είναι τύπου GET. Ακολουθούν παραδείγματα των επιμέρους web-services. Στο Παράρτημα παρέχονται και τα αντίστοιχα WSDL έγγραφα. 3
getareaswebservice: Inputs: ui Output: xml document της μορφής (παράδειγμα) <departmentlist name="ελλάδα" id="0"> <department name="αττική" id="1001"> <areazone name="νομαρχία Αθηνών" id="1101"> <area name="δήμος Αγίας Βαρβάρας" id="3" /> </Areazone> <area name="δήμος Αγίας Παρασκευής" id="4" /> <Areazone name= Noμαρχία Πειραιά > </Areazone>. </Department>. </Departmentlist> <area name="δήμος Αγίου Ιωάννου Ρέντη" id="90" /> <area name="δήμος Αίγινας" id="91" />. getshopswebservice: Inputs: ui Output: xml document της μορφής(παράδειγμα) <?xml version="1.0" encoding="utf-8"?> <shoplist> <shop> <id>3</id> <name>carrefour ΑΘΗΝΩΝ (ΛΕΩΦ. ΑΘΗΝΑΙΩΝ 93-97)</name> <companyname>μαρινοπουλοσ</companyname> </shop> <shop> <id>5</id> 4
</shop> </shoplist> <name>carrefour ΑΛΙΜΟΥ</name> <companyname>μαρινοπουλοσ</companyname> getcategoriesws: Inputs: ui Output: xml document της μορφής (παράδειγμα) <?xml version="1.0" encoding="utf-8"?> <categorylist> <category> <categoryid>5</categoryid> <name>ρυζι ΜΑΚΡΟΣΠΕΡΜΟ (ΤΥΠΟΥ ΚΑΡΟΛΙΝΑ)</name> </category> <category> <categoryid>6</categoryid> <name>ρυζι ΜΑΚΡΟΣΠΕΡΜΟ (ΤΥΠΟΥ ΜΠΑΡΜΠΑ - ΜΠΕΝ)</name> </category> <category> <categoryid>7</categoryid> <name>ρυζι ΣΤΡΟΓΓΥΛΟΣΠΕΡΜΟ (ΤΥΠΟΥ ΓΛΑΣΕ)</name> </category>. </categorylist> getproductsofacategoryws: Inputs: category_id, ui Output: xml document της μορφής(παράδειγμα) <?xml version="1.0" encoding="utf-8"?> <productlist> <product> <id>51</id> <name>ρυζι ΚΑΡΟΛΙΝΑ 3Α 500ΓΡ</name> </product> <product> <id>56</id> <name>ρυζι ΚΑΡΟΛΙΝΑ AGRINO 500ΓΡ</name> </product> <product> <id>672</id> <name>ρυζι ΚΑΡΟΛΙΝΑ MR GRAND 500ΓΡ</name> </product> 5
<product> <id>854</id> <name>ρυζι MY MARKET BEST PRICE BLUE BONNET 500G</name> </product> </productlist> getpriceofaproductatshopws: Inputs: product_id, shop_id, ui Output: xml document της μορφής(παράδειγμα) [γνώρισμα date: τελευταία τιμοληψία]. <?xml version="1.0"?> <product> <shopid>412</shopid> <productid>79</productid> <price>2.82</price> <entrydate>05/05/2010</entrydate> </product> getminimumpriceofaproductatplacews: Inputs: product_id, areaid, ui Output: xml document της μορφής(παράδειγμα) [γνώρισμα date: τελευταία τιμοληψία]. <?xml version="1.0"?> <shoplist> <product> <shopid>338</shopid> <productid>77</productid> <minprice>1.50</minprice> <entrydate>05/05/2010</entrydate> </product> <product> <shopid>339</shopid> <productid>77</productid> <minprice>1.50</minprice> <entrydate>05/05/2010</entrydate> </product> <product> <shopid>340</shopid> <productid>77</productid> <minprice>1.50</minprice> 6
</shoplist> <entrydate>05/05/2010</entrydate> </product> getminimumpriceofacategoryatplacews: Inputs: category_id, areaid, ui Output: xml document της μορφής(παράδειγμα) [γνώρισμα date: τελευταία τιμοληψία]. <category> <categoryid>144</categoryid> <MinPrice>0.85</MinPrice> <shoplist> <shopid>89</shopid> <shopid>112</shopid> <shopid>137</shopid> <shopid>243</shopid> <shopid>244</shopid> <shopid>245</shopid> <shopid>321</shopid> <shopid>322</shopid> <shopid>856</shopid> <shopid>857</shopid> <shopid>858</shopid> <shopid>859</shopid> </shoplist> <productlist> <product productid="1410"> <shop shopid="243" minprice="0.89" entrydate="05/05/2010" /> <shop shopid="244" minprice="0.89" entrydate="05/05/2010" /> <shop shopid="245" minprice="0.89" entrydate="05/05/2010" /> <shop shopid="321" minprice="0.89" entrydate="20/05/2010" /> <shop shopid="322" minprice="0.89" entrydate="20/05/2010" /> </product>.. </productlist> </category> getshopsofanareaws: Inputs: areaid, ui Output: xml document της μορφής <?xml version="1.0"?> <shoplist> <shop> 7
<id>438</id> <name>γαλαξιασ ΜΟΣΧΑΤΟΥ</name> <companyname>γαλαξιασ</companyname> </shop> <shop> <id>760</id> <name>βεροπουλοσ ΜΟΣΧΑΤΟΥ</name> <companyname>βεροπουλοσ</companyname> </shop> <shop> <id>93</id> <name>carrefour MARINOPOULOS ΜΟΣΧΑΤΟΥ</name> <companyname>μαρινοπουλοσ</companyname> </shop> <shop> <id>869</id> <name>σκλαβενιτησ ΜΟΣΧΑΤΟΥ (Μακρυγιάννη 100)</name> <companyname>σκλαβενιτησ</companyname> </shop> <shop> <id>870</id> <name>σκλαβενιτησ ΜΟΣΧΑΤΟΥ (Σολωμού 73)</name> <companyname>σκλαβενιτησ</companyname> </shop> </shoplist> getproductsws: Inputs: place_description, ui Output: xml document της μορφής <?xml version="1.0" encoding="utf-8"?> <productlist> <product> <id>51</id> <name>ρυζι ΚΑΡΟΛΙΝΑ 3Α 500ΓΡ</name> <category>ρυζι ΜΑΚΡΟΣΠΕΡΜΟ (ΤΥΠΟΥ ΚΑΡΟΛΙΝΑ)</category> </product> <product> <id>56</id> <name>ρυζι ΚΑΡΟΛΙΝΑ AGRINO 500ΓΡ</name> <category>ρυζι ΜΑΚΡΟΣΠΕΡΜΟ (ΤΥΠΟΥ ΚΑΡΟΛΙΝΑ)</category> </product> <product> <id>672</id> <name>ρυζι ΚΑΡΟΛΙΝΑ MR GRAND 500ΓΡ</name> <category>ρυζι ΜΑΚΡΟΣΠΕΡΜΟ (ΤΥΠΟΥ ΚΑΡΟΛΙΝΑ)</category> </product> 8
</productlist> 9
APPENDIX A - WSDL έγγραφα Get Areas <?xml version="1.0" encoding="utf-8"?> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getareasrequest"> <xs:attribute name="ui" type="xs:string"/> <xs:element name="departmentlist"> maxoccurs="unbounded"> <xs:element name="department" maxoccurs="unbounded"> <xs:element name="areazone" name="area" maxoccurs="unbounded"> <xs:element 10
<xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="id" type="xs:int" use="required"/> name="name" type="xs:string" use="required"/> name="id" type="xs:int" use="required"/> <xs:attribute <xs:attribute use="required"/> use="required"/> <xs:attribute name="name" type="xs:string" <xs:attribute name="id" type="xs:int" <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="id" type="xs:int" use="required"/> </xs:schema> </wsdl:types> 11
<wsdl:interface name="getareasinterface"> <wsdl:operation name="getareas" pattern="http://www.w3.org/ns/wsdl/inout"> <wsdl:input element="tns:getareasrequest"/> <wsdl:output element="tns:departmentlist"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getareasbinding" interface="tns:getareasinterface" type="http://www.w3.org/ns/wsdl/http"> </wsdl:binding> <wsdl:operation ref="tns:getareas"> <wsdl:input/> <wsdl:output/> </wsdl:operation> <wsdl:service name="getareasservice" interface="tns:getareasinterface"> <wsdl:endpoint name="getareasendpoint" binding="tns:getareasbinding" address="http://195.251.232.96:443/gge38/getareaswebservice"/> </wsdl:service> </wsdl:description> getcategories <?xml version="1.0" encoding="utf-8"?> <!-- edited with XMLSpy v2010 rel. 3 sp1 (x64) (http://www.altova.com) by Nik (dim) --> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> 12
<xs:element name="getcategoriesrequest"> <xs:attribute name="ui" type="xs:string"/> <xs:element name="categorylist"> maxoccurs="unbounded"> <xs:element name="category" name="categoryid" type="xs:integer"/> name="name" type="xs:string"/> <xs:element <xs:element </wsdl:types> </xs:schema> <wsdl:interface name="getcategoriesinterface"> <wsdl:operation name="getcategories" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getcategoriesrequest"/> 13
<wsdl:output messagelabel="out" element="tns:categorylist"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getcategoriesbinding" interface="tns:getcategoriesinterface" type="http://www.w3.org/ns/wsdl/http"> </wsdl:binding> <wsdl:operation ref="tns:getcategories"/> <wsdl:service name="getcategoriesservice" interface="tns:getcategoriesinterface"> <wsdl:endpoint name="getcategoriesendpoint" binding="tns:getcategoriesbinding" address="http://195.251.232.96:443/gge34/getcategoriesws"/> </wsdl:service> </wsdl:description> getminimumpriceofacategoryatplace <?xml version="1.0" encoding="utf-8"?> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getminimumpriceofacategoryatplacerequest"> <xs:attribute name="ui" type="xs:string"/> <xs:attribute name="productid" type="xs:integer"/> <xs:attribute name="areaid" type="xs:integer"/> 14
<xs:element name="category"> <xs:element name="categoryid" type="xs:integer"/> <xs:element name="minprice" type="xs:double"/> <xs:element name="shoplist"> maxoccurs="unbounded"/> <xs:element name="shopid" type="xs:integer" <xs:element name="productlist"> maxoccurs="unbounded"> <xs:element name="product" maxoccurs="unbounded"> <xs:element name="shop" name="shopid" type="xs:integer"/> name="minprice" type="xs:double"/> <xs:attribute <xs:attribute 15
name="entrydate" type="xs:string"/> <xs:attribute type="xs:integer"/> <xs:attribute name="productid" </wsdl:types> </xs:schema> <wsdl:interface name="getminimumpriceofacategoryatplaceinterface"> <wsdl:operation name="getminimumpriceofacategoryatplace" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getminimumpriceofacategoryatplacerequest"/> <wsdl:output messagelabel="out" element="tns:category"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getminimumpriceofacategoryatplacebinding" interface="tns:getminimumpriceofacategoryatplaceinterface" type="http://www.w3.org/ns/wsdl/http"> 16
</wsdl:binding> <wsdl:operation ref="tns:getminimumpriceofacategoryatplace"/> <wsdl:service name="getminimumpriceofacategoryatplaceservice" interface="tns:getminimumpriceofacategoryatplaceinterface"> <wsdl:endpoint name="getminimumpriceofacategoryatplaceendpoint" binding="tns:getminimumpriceofacategoryatplacebinding" address="http://195.251.232.96:443/gge38/getminimumpriceofacategoryatplacews"/> </wsdl:service> </wsdl:description> getminimumpriceofaproductatplace <?xml version="1.0" encoding="utf-8"?> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getminimumpriceofaproductatplacerequest"> <xs:attribute name="ui" type="xs:string"/> <xs:attribute name="productid" type="xs:integer"/> <xs:attribute name="areaid" type="xs:integer"/> <xs:element name="shoplist"> 17
<xs:element name="product" maxoccurs="unbounded"> type="xs:integer" minoccurs="1" maxoccurs="1"/> type="xs:integer" minoccurs="1" maxoccurs="1"/> type="xs:double" minoccurs="1" maxoccurs="1"/> type="xs:string" minoccurs="1" maxoccurs="1"/> <xs:element name="shopid" <xs:element name="productid" <xs:element name="minprice" <xs:element name="entrydate" </wsdl:types> </xs:schema> <wsdl:interface name="getminimumpriceofaproductatplaceinterface"> <wsdl:operation name="getminimumpriceofaproductatplace" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getminimumpriceofaproductatplacerequest"/> <wsdl:output messagelabel="out" element="tns:shoplist"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getminimumpriceofaproductatplacebinding" interface="tns:getminimumpriceofaproductatplaceinterface" type="http://www.w3.org/ns/wsdl/http"> 18
</wsdl:binding> <wsdl:operation ref="tns:getminimumpriceofaproductatplace"/> <wsdl:service name="getminimumpriceofaproductatplaceservice" interface="tns:getminimumpriceofaproductatplaceinterface"> <wsdl:endpoint name="getminimumpriceataproductatplaceendpoint" binding="tns:getminimumpriceofaproductatplacebinding" address="http://195.251.232.96:443/gge38/getminimumpriceofaproductatplacews"/> </wsdl:service> </wsdl:description> getpriceofaproductatshop <?xml version="1.0" encoding="utf-8"?> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getpriceofaproductatshoprequest"> <xs:attribute name="ui" type="xs:string"/> <xs:attribute name="productid" type="xs:integer"/> <xs:attribute name="shopid" type="xs:integer"/> <xs:element name="product"> 19
type="xs:integer" /> type="xs:integer" /> type="xs:double" /> type="xs:string" /> <xs:element name="shopid" <xs:element name="productid" <xs:element name="price" <xs:element name="entrydate" </wsdl:types> </xs:schema> <wsdl:interface name="getpriceofaproductatshopinterface"> <wsdl:operation name="getpriceofaproductatshop" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getpriceofaproductatshoprequest"/> <wsdl:output messagelabel="out" element="tns:product"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getpriceofaproductatshopbinding" interface="tns:getpriceofaproductatshopinterface" type="http://www.w3.org/ns/wsdl/http"> </wsdl:binding> <wsdl:operation ref="tns:getpriceofaproductatshop"/> <wsdl:service name="getpriceofaproductatshopservice" interface="tns:getpriceofaproductatshopinterface"> <wsdl:endpoint name="getpriceofaproductatshopendpoint" binding="tns:getpriceofaproductatshopbinding" address="http://195.251.232.96:443/gge38/getpriceofaproductatshopws"/> </wsdl:service> 20
</wsdl:description> getproducts <?xml version="1.0" encoding="utf-8"?> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getproductsrequest"> <xs:attribute name="ui" type="xs:string"/> <xs:element name="productlist"> <xs:element name="product" maxoccurs="unbounded"> <xs:element name="id" type="xs:integer"/> type="xs:string"/> type="xs:string"/> <xs:element name="name" <xs:element name="category" 21
</wsdl:types> </xs:schema> <wsdl:interface name="getproductsinterface"> <wsdl:operation name="getproductsoperation" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getproductsrequest"/> <wsdl:output messagelabel="out" element="tns:productlist"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getproductsbinding" interface="tns:getproductsinterface" type="http://www.w3.org/ns/wsdl/http"> </wsdl:binding> <wsdl:operation ref="tns:getproductsoperation"/> <wsdl:service name="getproductsservice" interface="tns:getproductsinterface"> <wsdl:endpoint name="getproductsendpoint" binding="tns:getproductsbinding" address="http://195.251.232.96:443/gge38/getproductsws"/> </wsdl:service> </wsdl:description> 22
getproductsofacategory <?xml version="1.0" encoding="utf-8"?> <!-- edited with XMLSpy v2010 rel. 3 sp1 (x64) (http://www.altova.com) by Nik (dim) --> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getproductsofacategoryrequest"> <xs:attribute name="ui" type="xs:string"/> type="xs:integer"/> <xs:attribute name="categoryid" <xs:element name="productlist"> maxoccurs="unbounded"> <xs:element name="product" name="id" type="xs:integer"/> name="name" type="xs:string"/> <xs:element <xs:element 23
</wsdl:types> </xs:schema> <wsdl:interface name="getproductsofacategoryinterface"> <wsdl:operation name="getproductsofacategory" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getproductsofacategoryrequest"/> <wsdl:output messagelabel="out" element="tns:productlist"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getproductsofacategorybinding" interface="tns:getproductsofacategoryinterface" type="http://www.w3.org/ns/wsdl/http"> </wsdl:binding> <wsdl:operation ref="tns:getproductsofacategory"/> <wsdl:service name="getproductsofacategoryservice" interface="tns:getproductsofacategoryinterface"> <wsdl:endpoint name="getproductsofacategoryendpoint" binding="tns:getproductsofacategorybinding" address="http://195.251.232.96:443/gge38/getproductsofacategory"/> </wsdl:service> </wsdl:description> 24
getshops <?xml version="1.0" encoding="utf-8"?> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getshopsrequest"> <xs:attribute name="ui" type="xs:string"/> <xs:element name="shoplist"> <xs:element name="shop" maxoccurs="unbounded" > type="xs:integer"/> type="xs:string" /> type="xs:string"/> <xs:element name="id" <xs:element name="name" <xs:element name="companyname" 25
</wsdl:types> </xs:schema> <wsdl:interface name="getshopsinterface"> <wsdl:operation name="getshops" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getshopsrequest"/> <wsdl:output messagelabel="out" element="tns:shoplist"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getshopsbinding" interface="tns:getshopsinterface" type="http://www.w3.org/ns/wsdl/http"> </wsdl:binding> <wsdl:operation ref="tns:getshops"/> <wsdl:service name="getshopsservice" interface="tns:getshopsinterface"> <wsdl:endpoint name="getshopsendpoint" binding="tns:getshopsbinding" address="http://195.251.232.96:443/gge38/getshopswebservice"/> </wsdl:service> </wsdl:description> getshopsofanarea <?xml version="1.0" encoding="utf-8"?> <wsdl:description targetnamespace="http://new.webservice.namespace" xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap="http://www.w3.org/ns/wsdl/soap" xmlns:whttp="http://www.w3.org/ns/wsdl/http" 26
xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:tns="http://new.webservice.namespace"> <wsdl:types> <xs:schema targetnamespace="http://new.webservice.namespace" elementformdefault="qualified"> <xs:element name="getshopsofanarearequest"> <xs:attribute name="ui" type="xs:string"/> <xs:attribute name="areaid" type="xs:integer"/> <xs:element name="shoplist"> maxoccurs="unbounded"> <xs:element name="shop" name="id" type="xs:integer"/> name="name" type="xs:string"/> name="companyname" type="xs:string"/> <xs:element <xs:element <xs:element 27
</wsdl:types> </xs:schema> <wsdl:interface name="getshopsofanareainterface"> <wsdl:operation name="getshopsofanareaoperation" pattern="http://www.w3.org/ns/wsdl/in-out"> <wsdl:input messagelabel="in" element="tns:getshopsofanarearequest"/> <wsdl:output messagelabel="out" element="tns:shoplist"/> </wsdl:operation> </wsdl:interface> <wsdl:binding name="getshopsofanareabinding" interface="tns:getshopsofanareainterface" type="http://www.w3.org/ns/wsdl/http"> </wsdl:binding> <wsdl:operation ref="tns:getshopsofanareaoperation"/> <wsdl:service name="getshopsofanareaservice" interface="tns:getshopsofanareainterface"> <wsdl:endpoint name="getshopsofanareaendpoint" binding="tns:getshopsofanareabinding" address="http://195.251.232.96:443/gge38/getshopsofanareaws"/> </wsdl:service> </wsdl:description> 28