ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΔΗΜΟΣΙΩΝ ΕΠΕΝΔΥΣΕΩΝ ΕΣΠΑ ΕΘΝΙΚΗ ΑΡΧΗ ΣΥΝΤΟΝΙΣΜΟΥ Ειδική Υπηρεσία Ολοκληρωμένου Πληροφοριακού Συστήματος ΟΠΣ-ΕΣΠΑ 2014-2020: ΟΔΗΓΟΣ ΣΥΜΠΛΗΡΩΣΗΣ Web Services ΓΙΑ ΤΗΝ ΥΠΟΒΟΛΗ ΔΕΛΤΙΩΝ ΕΣΠΑ 2014-2020 ΣΤΟ ΟΠΣ Έκδοση 1.1 Μάρτιος 2017 [Ο παρών οδηγός συντάχθηκε για τους χρήστες του ΟΠΣ ΕΣΠΑ 2014-2020, αφορά στη συμπλήρωση Web Services για την υποβολή δελτίων.]
Πίνακας αλλαγών Έκδοση Ημ/νία Σύντομη περιγραφή έκδοσης / αλλαγών 1.0 10/3/2017 Αρχική έκδοση
Πίνακας Περιεχομένων 1. Εισαγωγή... 3 1.1. Περιγραφή Web Services... 3 1.2. Μορφότυπα XSD... 4 1.3. Αρχεία XML... 5 1.4. Διαδικασία Υποβολής Δελτίων με χρήση Αρχείων XML και WS... 5 2. Κλήση WS με τη χρήση ειδικής εφαρμογής... 6 2.1. Λήψη της εφαρμογής SoapUI... 6 2.2. Εγκατάσταση της εφαρμογής SoapUI... 8 2.3. Εκκίνηση της εφαρμογής SoapUI... 13 2.4. Δημιουργία νέου SOAP Project... 15 2.5. Εισαγωγή αρχείων WSDL στο SoapUI... 16 2.6. Δημιουργία Request... 18 2.7. Υπόδειγμα XML αρχείου για υποβολή ΔΔΔ... 24 3. Κλήση WS με τη χρήση περιβάλλοντος προγραμματισμού... 25 Σελίδα 2 από 25
1. Εισαγωγή Ο παρόν οδηγός καλύπτει τη χρήση των Web Services που παρέχονται από την Ειδική Υπηρεσία ΟΠΣ, προκειμένου οι Δικαιούχοι να υποβάλουν τα Δελτία τους στο ΟΠΣ. Οι κατηγορίες των δελτίων που υποστηρίζονται είναι οι παρακάτω: 1. Απογραφικά Δελτία Συμμετεχόντων (Ωφελούμενων) σε Πράξεις ΕΚΤ 2. Τεχνικά Δελτία Υποέργων (ΤΔΥ) 3. Τεχνικά Δελτία Πράξης (ΤΔΠ) 4. Δελτία Δήλωσης Δαπανών (ΔΔΔ) Κάνοντας χρήση των Web Services, οι Δικαιούχοι έχουν τη δυνατότητα να υποβάλλουν δελτία στο ΟΠΣ με μαζικό τρόπο. Τα δελτία θα πρέπει να έχουν μορφοποίηση XML, ακολουθώντας το αντίστοιχο μορφότυπο XSD που είναι αναρτημένο στην ιστοσελίδα της ΕΥ ΟΠΣ. Τα XML αρχεία που υποβάλλονται με τη διαδικασία που περιγράφεται παρακάτω, καταλήγουν στο Πληροφοριακό Σύστημα ΟΠΣ ΕΣΠΑ 2014-2020(εφεξής ΟΠΣ). 1.1. Περιγραφή Web Services Τα Web Services αποτελούν υπηρεσίες που προσφέρονται από μια ηλεκτρονική συσκευή σε μια άλλη μέσω του World Wide Web. Σε αντίθεση με το πρωτόκολλο HTTP το οποίο σχεδιάστηκε για επικοινωνία ανθρώπου με μηχανή, τα WS χρησιμοποιούνται για να μεταφέρονται δεδομένα σε αρχεία όπως XML και JSON. Κατά συνέπεια, ο όρος "web service" περιγράφει μια τυποποιημένη διαδικασία ολοκλήρωσης web-based εφαρμογών χρησιμοποιώντας πρότυπα XML, SOAP, WSDL και UDDI μέσω του Διαδικτύου. Το XML καθορίζει τη μορφή των (μετα)δεδομένων, το SOAP χρησιμοποιείται για τη μεταφορά των δεδομένων, το WSDL χρησιμοποιείται για την περιγραφή των υπηρεσιών και το UDDI καταγράφει ποιες υπηρεσίες είναι διαθέσιμες. Η Ειδική Υπηρεσία ΟΠΣ, στο πλαίσιο της εξασφάλισης διαλειτουργικότητας με τα Πληροφοριακά Συστήματα των Δικαιούχων και των Φορέων Διαχείρισης για Πράξεις του ΕΣΠΑ 2014-2020, αναπτύσσει υπηρεσίες Διαδικτύου (Web Services). Τα WS που παρέχει η ΕΥ ΟΠΣ διαθέτουν τα παρακάτω χαρακτηριστικά: 1. Βασίζονται στο πρωτόκολλο SOAP για τη μεταφορά των δεδομένων 2. Παρέχουν τις προδιαγραφές λειτουργίας/κλήσης τους σε μορφή WSDL 3. Χρησιμοποιούν το πρότυπο XML για τη μορφή των δεδομένων Οι διευθύνσεις των WSDL για το περιβάλλον παραγωγής (production) με τις προδιαγραφές των υπηρεσιών είναι οι παρακάτω: 1. Υπηρεσίες Υποβολής Απογραφικών Δελτίων Συμμετεχόντων (Ωφελούμενων) σε Πράξεις ΕΚΤ http://esub.mnec.gr/ws5_ops/symws5service?wsdl 2. Υπηρεσίες Υποβολής Τεχνικών Δελτίων Υποέργων (ΤΔΥ) http://esub.mnec.gr/ws5_ops/tdyws5service?wsdl 3. Υπηρεσίες Υποβολής Τεχνικών Δελτίων Πράξης (ΤΔΠ) Σελίδα 3 από 25
http://esub.mnec.gr/ws5_ops/tdpws5service?wsdl 4. Υπηρεσίες Υποβολής Δελτίων Δήλωσης Δαπανών (ΔΔΔ) http://esub.mnec.gr/ws5_ops/dddws5service?wsdl Οι αντίστοιχες διευθύνσεις των WSDL για το περιβάλλον δοκιμών (test) είναι: 1. Υπηρεσίες Υποβολής Απογραφικών Δελτίων Συμμετεχόντων (Ωφελούμενων) σε Πράξεις ΕΚΤ http://eduesub.mnec.gr/ws5_ops/symws5service?wsdl 5. Υπηρεσίες Υποβολής Τεχνικών Δελτίων Υποέργων (ΤΔΥ) http://eduesub.mnec.gr/ws5_ops/tdyws5service?wsdl 6. Υπηρεσίες Υποβολής Τεχνικών Δελτίων Πράξης (ΤΔΠ) http://eduesub.mnec.gr/ws5_ops/tdpws5service?wsdl 7. Υπηρεσίες Υποβολής Δελτίων Δήλωσης Δαπανών (ΔΔΔ) http://eduesub.mnec.gr/ws5_ops/dddws5service?wsdl Αφού κατεβάσουν τα παραπάνω αρχεία, οι ενδιαφερόμενοι δύναται να τα εισάγουν σε ειδικές εφαρμογές οι οποίες θα τους καθοδηγήσουν στα επόμενα βήματα για την κλήση των WS (Βλ. σελίδα 16). 1.2. Μορφότυπα XSD Τα δελτία θα πρέπει να είναι κωδικοποιημένα σε μορφή XML, προκειμένου να υποβληθούν στο ΟΠΣ μέσω Web Services, ακολουθώντας το αντίστοιχο μορφότυπο XSD. Τα XSDs που έχουν δημιουργηθεί για το σκοπό αυτό (και έχουν αναρτηθεί στην ιστοσελίδα της ΕΥ ΟΠΣ), περιλαμβάνουν τη δομή και τα απαιτούμενα στοιχεία της πληροφορίας, ακολουθώντας (όπου αυτό είναι δυνατό) τη μορφή των αντίστοιχων εντύπων. Επιπλέον διασφαλίζουν: 1. Την καθοδήγησης της συμπλήρωσης του XML αρχείου μέσω εύληπτων tags που αντιστοιχούν στα πεδία του κάθε Δελτίου. 2. Την πληρότητα (και έως ένα σημείο την ορθότητα) των στοιχείων μέσω κατάλληλων validations των τύπων των στοιχείων. 3. Τη διευκόλυνση της συμπλήρωσης των κωδικοποιημένων στοιχείων (όπου αυτό είναι δυνατό) μέσω της καταγραφής τους σε εξωτερικό αρχείο XSD (datatypes.xsd). Οι Δικαιούχοι, έχουν τη δυνατότητα να μεταφορτώσουν τοπικά τα αρχεία XSD και να τα χρησιμοποιήσουν τόσο για τη δόμηση του αρχείου XML όσο και για να ελέγξουν την ορθότητα και την πληρότητα των στοιχείων του. Οι ενδιαφερόμενοι μπορούν να μεταφορτώσουν τοπικά τα XSDs από τις παρακάτω διευθύνσεις: 1. Απογραφικά Δελτία Συμμετεχόντων (Ωφελούμενων) σε Πράξεις ΕΚΤ Υποβολή Προσωπικών στοιχείων Ωφελουμένων: http://www.ops.gr/ergorama/fileuploads/webservices/sym_only_ofeloym.xsd Υποβολή Στοιχείων Δελτίων Ωφελουμένων: Σελίδα 4 από 25
http://www.ops.gr/ergorama/fileuploads/webservices/sym_deltio_ofel.xsd Υποβολή Στοιχείων Δελτίων Ωφελουμένων συμπεριλαμβανομένων των Στοιχείων Ωφελούμενου για κάθε Δελτίο: http://www.ops.gr/ergorama/fileuploads/webservices/sym_with_deltia.xsd 2. Τεχνικά Δελτία Υποέργων (ΤΔΥ) http://www.ops.gr/ergorama/fileuploads/webservices/tdy.zip 3. Τεχνικά Δελτία Πράξης (ΤΔΠ) Κρατικές Ενισχύσεις: http://www.ops.gr/ergorama/fileuploads/webservices/tdp_pke.zip Πλην Κρατικών Ενισχύσεων: http://www.ops.gr/ergorama/fileuploads/webservices/tdp_ke.zip 4. Δελτία Δήλωσης Δαπανών (ΔΔΔ) http://www.ops.gr/ergorama/fileuploads/webservices/xsd_field_description_ddd.zip 5. Τύποι Κωδικοποιημένων Στοιχείων (Datatypes) (Αφορά μόνο το ΤΔΠ) http://www.ops.gr/ergorama/fileuploads/webservices/datatypes.zip 1.3. Αρχεία XML Όπως αναφέρθηκε προηγουμένως, οι Δικαιούχοι συμπληρώνουν το αρχείο XML με τα Δελτία συγκεκριμένου τύπου, καθοδηγούμενοι από το αντίστοιχο XSD. Ένα αρχείο XML, εφόσον στο μορφότυπο xsd προσδιορίζεται η δυνατότητα υποστήριξης πολλαπλότητας Δελτίων, δύναται να περιέχει πολλά Δελτία ενός συγκεκριμένου τύπου (π.χ. ΤΔΠ). Στη συνέχεια, το αρχείο XML δύναται να ελεγχθεί όσον αφορά την πληρότητα και την ορθότητά του σε σχέση με το αντίστοιχο XSD. Θα πρέπει να σημειωθεί ότι σε περίπτωση που οι Δικαιούχοι χρησιμοποιούν κάποια εξειδικευμένη εφαρμογή επεξεργασίας XML/XSD ή ενσωματώνουν το XSD σε κάποιο προγραμματιστικό περιβάλλον, ο έλεγχος δύναται να γίνεται κατά τη στιγμή συμπλήρωσης του XML. 1.4. Διαδικασία Υποβολής Δελτίων με χρήση Αρχείων XML και WS Στο παρακάτω σχήμα, περιγράφεται η διαδικασία υποβολής των δελτίων στο ΟΠΣ με τη χρήση αρχείων XML και WS. Σελίδα 5 από 25
Συμπλήρωση Στοιχείων Αρχείο XML Αρχείο XSD Έλεγχος κωδικοποιημένων στοιχείων Αρχείο XSD (daatatypes) Validation NAI Κλήση WS NAI Validation ΟΠΣ Εικόνα 1 Διαδικασία Υποβολής Δελτίων στο ΟΠΣ Θα πρέπει να σημειωθεί ότι η επικύρωση των ελέγχων ενός αρχείου XML έναντι του XSD δεν εγγυάται πλήρως την ορθότητά του. Το αρχείο θα ελεγχθεί ξανά τόσο κατά την κλήση του WS όσο και πριν την εισαγωγή του και μόνο εάν είναι ορθό και πλήρες σύμφωνα με την επιχειρησιακή λογική θα εισαχθεί στο ΟΠΣ. Σε όλες τις περιπτώσεις, το WS θα ενημερώσει το χρήστη για τα αποτελέσματα της κλήσης του και επιπλέον σε περίπτωση επιτυχίας θα επιστραφεί και το μοναδικό αναγνωριστικό κάθε δελτίου που υποβάλλεται. Για την κλήση των WS που παρέχει η ΕΥ ΟΠΣ, οι Δικαιούχοι έχουν δύο δυνατότητες: 1. Ανάπτυξη application ή module το οποίο θα καλεί τα WS (παρέχεται παράδειγμα) ή 2. Χρήση κάποιας client εφαρμογής π.χ. SOAP UI η χρήση της οποίας περιγράφεται στη συνέχεια. Συνεπώς και με την προϋπόθεση ότι έχουν παράγει το αρχείο XML, οι Δικαιούχοι δύναται να τροφοδοτήσουν τα WS με τα XML, χρησιμοποιώντας τις δύο παραπάνω δυνατότητες. 2. Κλήση WS με τη χρήση ειδικής εφαρμογής Με σκοπό την καλύτερη αποτύπωση της διαδικασίας χρήσης των WS, παρέχεται ένα παράδειγμα χρήσης μιας εξειδικευμένης εφαρμογής (SoapUI) για την υποβολή ενός XML αρχείου που έχουμε ήδη δημιουργήσει. Η εφαρμογή SoapUI αποτελεί μια εφαρμογή ΕΛ/ΛΑΚ η οποία επιτρέπει την κλήση SOAP Web Services. 2.1. Λήψη της εφαρμογής SoapUI Χρησιμοποιώντας το φυλλομετρητή μας, μεταβαίνουμε στη σελίδα https://www.soapui.org/ και πατάμε το κουμπί Download SoapUI, το οποίο μας μεταφέρει στη σελίδα των λήψεων. Σελίδα 6 από 25
Εικόνα 2 Σελίδα SoapUI Στη σελίδα αυτή βλέπουμε τις διάφορες επιλογές που έχουμε για λήψη του εργαλείου SoapUI. Πατάμε το κουμπί Get It για την έκδοση SoapUI OpenSource, όπως φαίνεται στην εικόνα που ακολουθεί. Εικόνα 3 Μεταφόρτωση SoapUI Μόλις πατήσουμε το κουμπί, ανάλογα με το φυλλομετρητή και τις ρυθμίσεις μας, ξεκινάει αμέσως η λήψη του installer, ή μας εμφανίζει ένα παράθυρο διαλόγου για να επιλέξουμε φάκελο εργασίας στον οποίο επιθυμούμε να αποθηκευτεί. Σελίδα 7 από 25
2.2. Εγκατάσταση της εφαρμογής SoapUI Αφού ολοκληρωθεί η λήψη, εκκινούμε τη διαδικασία εγκατάστασης της εφαρμογής, κάνοντας διπλό κλικ στο αρχείο που κατεβάσαμε. Εικόνα 4 Εκκίνηση Εγκατάστασης Μόλις εμφανιστεί το παράθυρο που φαίνεται στην προηγούμενη εικόνα, πατάμε το κουμπί Next, επιλέγουμε I accept the agreement και πατάμε ξανά το κουμπί Next. Σελίδα 8 από 25
Εικόνα 5 Αποδοχή Όρων Στη συνέχεια εμφανίζεται ο φάκελος στον οποίο θα εγκατασταθεί η εφαρμογή (δε χρειάζεται να αλλάξουμε κάτι) και πατάμε Next. Εικόνα 6 Επιλογή Φακέλου Εγκατάστασης Σελίδα 9 από 25
Στην επόμενη οθόνη αποεπιλέγουμε το HermesJMS, καθώς δε θα χρησιμοποιηθεί. Προαιρετικά μπορείτε να αφήσετε επιλεγμένα προς εγκατάσταση τα Tutorials του SoapUI. Τέλος, πατάμε Next. Εικόνα 7 Ρύθμιση Πακέτων Εγκατάστασης Αν έχουμε επιλέξει να εγκατασταθούν τα tutorials στην προηγούμενη οθόνη, στην οθόνη αυτή επιλέγουμε σε ποιο φάκελο θα εγκατασταθούν. Όπως φαίνεται και από τη φράση που βρίσκεται σε κόκκινο πλαίσιο, θα πρέπει στο φάκελο που θα επιλέξουμε, να έχουμε δικαίωμα εγγραφής. Στη συνέχεια πατάμε Next. Σελίδα 10 από 25
Εικόνα 8 Επιλογή Φακέλου για τα tutorials Στις επόμενες δύο οθόνες δεν αλλάζουμε τίποτα και πατάμε Next. Εικόνα 9 Δημιουργία Συντομεύσεων Σελίδα 11 από 25
Εικόνα 10 Δημιουργία Συντόμευσης στην Επιφάνεια Εργασίας Μόλις ολοκληρωθεί η εγκατάσταση, αποεπιλέγουμε το View the release notes, αφήνουμε επιλεγμένο το Run SoapUI 5.3.0 και πατάμε Finish. Εικόνα 11 Ολοκλήρωση Εγκατάστασης Σελίδα 12 από 25
2.3. Εκκίνηση της εφαρμογής SoapUI Μόλις ξεκινήσει το SoapUI, εμφανίζεται το παράθυρο που ακολουθεί, στο οποίο επιλέγουμε No. Εικόνα 12 Επιλογή αποστολής feedback Στη συνέχεια ανοίγει η εφαρμογή και εμφανίζεται ένα νέο παράθυρο στο οποίο μας ζητάει να εισαγάγουμε το email μας, προκειμένου να λαμβάνουμε νέα για το SoapUI. Πατάμε Skip, και στη συνέχεια εμφανίζεται ένα παράθυρο των Windows, το οποίο μας ενημερώνει πως το SoapUI χρειάζεται αλλαγή ρυθμίσεων στο Firewall των Windows. Αφήνουμε επιλεγμένο το Domain networks, such as a workplace network, δεν επιλέγουμε κάποιο άλλο, και πατάμε Allow access. Εικόνα 13 Εγγραφή σε ενημερώσεις Σελίδα 13 από 25
Εικόνα 14 Ρύθμιση Windows Firewall Πλέον έχουμε πρόσβαση στη λειτουργικότητα της εφαρμογής SoapUI. Σελίδα 14 από 25
2.4. Δημιουργία νέου SOAP Project Πατώντας File -> New SOAP Project, εμφανίζεται το παράθυρο δημιουργίας νέου SOAP project. Εικόνα 15 Νέο Project Εισάγουμε ένα όνομα, όπως φαίνεται στην εικόνα που ακολουθεί, και πατάμε OK. Εικόνα 16 Εισαγωγή Ονόματος Σελίδα 15 από 25
Πλέον βλέπουμε ότι στη δεντρική δομή των projects που υπάρχει στο αριστερό μέρος της εφαρμογής εμφανίζεται το project που μόλις δημιουργήσαμε. Κάνοντας δεξί κλικ στο όνομα του project και επιλέγοντας Add WSDL, εμφανίζεται ένα παράθυρο στο οποίο μπορούμε να εισαγάγουμε ένα WSDL αρχείο που έχουμε αποθηκεύσει στον υπολογιστή μας ή το URL ενός WSDL αρχείου. Εμείς θα ακολουθήσουμε τη δεύτερη επιλογή, προκειμένου να εισαγάγουμε στο project τα WSDL αρχεία που έχουν αναρτηθεί στην ιστοσελίδα του ΟΠΣ. 2.5. Εισαγωγή αρχείων WSDL στο SoapUI Αντιγράφουμε τη διεύθυνση του αρχείου από την ενότητα Περιγραφή Web Services και επιστρέφουμε στην εφαρμογή SoapUI. Εικόνα 17 Διεύθυνση και περιεχόμενο WSDL Στο παράθυρο που μας έχει ανοίξει επικολλούμε με Ctrl+V τη διεύθυνση που αντιγράψαμε και πατάμε OK. Σελίδα 16 από 25
Εικόνα 18 Επικόλληση διεύθυνσης WSDL Βλέπουμε ότι πλέον στη δεντρική δομή στα αριστερά εμφανίζονται οι τρεις μέθοδοι που υποστηρίζονται για την υπηρεσία αυτή. Υποβολή Προσωπικών στοιχείων Ωφελουμένων (eisagwghofeloymenwn) Υποβολή Στοιχείων Δελτίων Ωφελουμένων (eisagwghdeltiwnofeloymenwn) Υποβολή Στοιχείων Δελτίων Ωφελουμένων συμπεριλαμβανομένων των Στοιχείων Ωφελούμενου για κάθε Δελτίο (eisagwghofelwithdeltiaofel) Εικόνα 19 Υποστηριζόμενες Μέθοδοι WS Την ίδια ακριβώς διαδικασία (προσθήκη νέου WSDL αρχείου στο SoapUI, επικόλληση συνδέσμου από ΟΠΣ) κάνουμε και για τις άλλες τρεις υπηρεσίες που είναι διαθέσιμες στο ΟΠΣ (ΤΔΥ, ΤΔΠ και ΔΔΔ). Τελικά, η δεντρική δομή του project έχει διαμορφωθεί όπως φαίνεται στην εικόνα που ακολουθεί. Όπως φαίνεται, κάτω από κάθε μέθοδο έχει δημιουργηθεί και ένα άδειο request. Στο request αυτό θα πρέπει να προσθέσετε το περιεχόμενο του εκάστοτε xml αρχείου. ΠΡΟΣΟΧΗ: Βασική προϋπόθεση για να χρησιμοποιήσετε την υπηρεσία είναι να έχετε παραγάγει σωστά το xml αρχείο. Το περιεχόμενο του αρχείου αυτού θα το βάλετε ως body του request. Σελίδα 17 από 25
Εικόνα 20 Project και με τα 4 WS 2.6. Δημιουργία Request Κάνοντας διπλό κλικ σε οποιοδήποτε από τα requests που έχουν δημιουργηθεί, ανοίγει το παράθυρο του request, στο οποίο θα εισαγάγουμε το body του request και τα στοιχεία για αυθεντικοποίηση του request. Στην εικόνα που ακολουθεί φαίνεται το request που έχει δημιουργηθεί για τη μέθοδο «Εισαγωγή Δελτίων Δήλωσης Δαπανών». Σελίδα 18 από 25
Εικόνα 21 Διαμόρφωση Request Στο body του request υπάρχει ο ακόλουθος xml κώδικας: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ddd="http://www.ops.gr/docs/ws/ret_ops/ddd"> <soapenv:header/> <soapenv:body> <ddd:eisagwghdeltiwndhlwshsdapanwn/> </soapenv:body> </soapenv:envelope> Τροποποιούμε τον κώδικα αυτόν ώστε να διαμορφωθεί όπως φαίνεται στη συνέχεια. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ddd="http://www.ops.gr/docs/ws/ret_ops/ddd"> <soapenv:header/> <soapenv:body> <ddd:eisagwghdeltiwndhlwshsdapanwn> <ddd:xmlrequest xmlns="http://www.ops.gr/docs/ws/ret_ops/ddd"> <![CDATA[ ***XML*** ]]> </ddd:xmlrequest> </ddd:eisagwghdeltiwndhlwshsdapanwn> </soapenv:body> </soapenv:envelope> Στη συνέχεια αντικαθιστούμε το λεκτικό ***XML*** με το περιεχόμενο του xml που έχουμε παραγάγει. Σελίδα 19 από 25
Τέλος, πατάμε στην επιλογή Auth, στο κάτω μέρος της σελίδας, προκειμένου να προσθέσουμε το username και το password που χρειάζεται για την αυθεντικοποίηση του request. Εικόνα 21 Ρύθμιση Αυθεντικοποίησης Στο πλαίσιο που εμφανίζεται επιλέγουμε Add New Authorization με τύπο Basic και πατάμε OK. Σελίδα 20 από 25
Εικόνα 22 Προσθήκη Βασικής Αυθεντικοποίησης Εικόνα 23 Προσθήκη Στοιχείων Λογαριασμού Σελίδα 21 από 25
Ως Username θέτουμε το username που έχουμε για την Ηλεκτρονική Υποβολή στο ΟΠΣ και ως password το αντίστοιχο password. Για την απόκτηση username και Password θα βρείτε πληροφορίες εδώ. Το τελικό αποτέλεσμα είναι αυτό που φαίνεται στην εικόνα που ακολουθεί. Πατώντας Submit (το κουμπί που δείχνει το βέλος), εκτελείται το request. Εικόνα 24 Εκτέλεση Κλήσης Στο δεξί μέρος της οθόνης εμφανίζεται το response που λαμβάνετε. Σε περίπτωση επιτυχίας θα δείτε τον αριθμό που πήρε το δελτίο που ανεβάσατε, ενώ σε περίπτωση σφάλματος, στο πεδίο <errordescr /> θα δείτε πληροφορίες για το σφάλμα που προέκυψε. Σελίδα 22 από 25
Εικόνα 2517 Απάντηση Κλήσης WS Σελίδα 23 από 25
2.7. Υπόδειγμα XML αρχείου για υποβολή ΔΔΔ Στη συνέχεια παραθέτουμε ένα δείγμα ενός xml αρχείου για την υποβολή Δελτίου Δήλωσης Δαπανών. <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ddd="http://www.ops.gr/docs/ws/ret_ops/ddd"> <soapenv:header/> <soapenv:body> <ddd:eisagwghdeltiwndhlwshsdapanwn> <ddd:xmlrequest xmlns="http://www.ops.gr/docs/ws/ret_ops/ddd"><![cdata[<?xml version="1.0" encoding="utf-8" standalone="yes"?> <DDD xmlns="http://www.ops.gr/docs/ws/ret_ops/ddd"> <KPS5_MHNIAIA_YPOERGOY> <KODIKOS_MIS>500000</KODIKOS_MIS> <AA_YPOERGOY>1</AA_YPOERGOY> <ETOS>2017</ETOS> <MHNAS>1</MHNAS> <ONOMATEPONYMO_SYNTAKSANTA></ONOMATEPONYMO_SYNTAKSANTA> <KATASTASH_DELTIOY>300</KATASTASH_DELTIOY> <PARATHRHSEIS /> <ST_FLAG>1</ST_FLAG> <KPS5_PARASTATIKA> <FLAG_KATHG_PARASTATIKOY>1</FLAG_KATHG_PARASTATIKOY> <AFM_EKDOTH>000000000</AFM_EKDOTH> <EIDOS_PARASTATIKOY>60101</EIDOS_PARASTATIKOY> <ARITHMOS_PARASTATIKOY>1</ARITHMOS_PARASTATIKOY> <DATE_PARASTATIKOY>2017-01-01</DATE_PARASTATIKOY> <POSO_KATHARO>1000.00</POSO_KATHARO> <POSO_FPA>0</POSO_FPA> <ST_FLAG>1</ST_FLAG> </KPS5_PARASTATIKA> <KPS5_PLHROMES_PARASTATIKA> <EIDOS_PARASTATIKOY_FOREA>60202</EIDOS_PARASTATIKOY_FOREA> <ARITHMOS_PARASTATIKOY_FOREA>000000</ARITHMOS_PARASTATIKOY_FOREA> <KODIKOS_FOREA_DIK>10000</KODIKOS_FOREA_DIK> <AFM_EKDOTH_ANAD>00000000</AFM_EKDOTH_ANAD> <EIDOS_PARASTATIKOY_ANADOXOY>60101</EIDOS_PARASTATIKOY_ANADOXOY> <ARITHMOS_PARASTATIKOY_ANADOXOY>1</ARITHMOS_PARASTATIKOY_ANADOXOY> <ID_KATHGORIA_DAPANHS>1</ID_KATHGORIA_DAPANHS> <POSO_DHLOSHS>1000.00</POSO_DHLOSHS> <ST_FLAG>1</ST_FLAG> </KPS5_PLHROMES_PARASTATIKA> <KPS5_MHNIAIA_DIAKRITA> <AA_DIAKRITOY>1</AA_DIAKRITOY> <PERIGRAFH_ENERGEION></PERIGRAFH_ENERGEION> <PARADOTEA_YPOERGOY></PARADOTEA_YPOERGOY> <EGGRAFA /> <ST_FLAG>1</ST_FLAG> </KPS5_MHNIAIA_DIAKRITA> </KPS5_MHNIAIA_YPOERGOY> </DDD> ]]> </ddd:xmlrequest> </ddd:eisagwghdeltiwndhlwshsdapanwn> </soapenv:body> </soapenv:envelope> Σελίδα 24 από 25
3. Κλήση WS με τη χρήση περιβάλλοντος προγραμματισμού Μια δεύτερη εναλλακτική που οι Δικαιούχοι δύναται να χρησιμοποιήσουν είναι η απευθείας κλήση του WS μέσα από κάποια εφαρμογή που αναπτύσσεται. Παρακάτω παρέχεται ένα ενδεικτικό snippet κώδικα VB.NET (.ΝΕΤ 2.0) για την κλήση ενός Web Service για την υποβολή ενός ήδη συμπληρωμένου XML. Προϋπόθεση για τη χρήση του κώδικα που ακολουθεί είναι: 1. Η δημιουργία και τοπική αποθήκευση του XML με τα στοιχεία του Δελτίου που πρόκειται να υποβληθεί. 2. Να έχει γίνει reference στο project του Visual Studio, το Web Service για την υποβολή ΔΔΔ με όνομα gr.mnec.esub.ddd.dddws5service Dim DDDService As New gr.mnec.esub.ddd.dddws5service Dim username, password, xml As String Try username = "aaa@test.gr" password = "******" xml = File.ReadAllText("ddd.xml") Dim usertoken As New UsernameToken(username, password, PasswordOption.SendPlainText) Dim requestcontext As SoapContext = DDDService.RequestSoapContext requestcontext.security.tokens.add(usertoken) requestcontext.security.timestamp.ttlinseconds = 3600 DDDService.Timeout = 3600000 DDDService.eisagwghDeltiwnDhlwshsDapanwn(xml) MsgBox(DDDService.ResponseSoapContext.Envelope.InnerXml) Catch ex As Exception MsgBox(ex.Message) End Try * Τα UsernameToken και SoapContext ανήκουν στη βιβλιοθήκη Microsoft.Web.Services2 η οποία πρέπει να γίνει include στο project. ** Θα πρέπει να τροποιηθεί η κλάση που παράγεται αυτόματα από το VS και αφορά στο WS (αρχείο reference.vb) έτσι ώστε να κάνει inherit το Microsoft.Web.Services2.WebServicesClientProtocol.Άρα αμέσως μετά τον ορισμό της κλάσης θα πρέπει να προστεθεί: Partial Public Class DddWs5Service Inherits Microsoft.Web.Services2.WebServicesClientProtocol Σελίδα 25 από 25