WebEDI Interfaccia web service Descrizione dei servizi

Documenti analoghi
AVVISO DI MERCE PRONTA

AVVISO DI COLLAUDO. Descrizione del documento e schema XML. WebEDI Scambio elettronico documenti. AVVISO DI COLLAUDO.doc

COMUNICAZIONE DI CONSEGNA

QUALIFICAZIONE DELLA PORTA DI DOMINIO

DOCUMENTO DI TRASPORTO

ASSEGNAZIONE FABBISOGNO

RILEVAZIONE PRESENZE SPECIFICHE TECNICHE COLLOQUIO

INF-1: Specifiche Tecniche di Interfaccia

PROGETTO TESSERA SANITARIA WEB SERVICE CMS ATTIVAZIONE E REVOCA TS-CNS IN INTEROPERABILITA FRA CARD MANAGEMENT SYSTEM

PROGETTO TESSERA SANITARIA WSDL E SCHEMI XSD PER L UTILIZZO DEI SERVIZI WEB- SERVICE

ZTL Firenze Inserimento Automatico

Modulo Impresa - Accesso via Web Service. Web Service per integrazione da sistemi esterni

Specifiche di invocazione del sistema di monitoraggio e controllo servizi CART

PROGETTO TESSERA SANITARIA WEB SERVICES DI GESTIONE PASSWORD

A2A Specifiche Web Services

AVVISO DI PAGAMENTO. Descrizione del documento e schema XML. WebEDI Scambio elettronico documenti. AVVISO DI PAGAMENTO.doc

SDK-CART. Versione 1.1

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf

PROGETTO TESSERA SANITARIA SERVIZI DI COMUNICAZIONE ATTIVAZIONE E REVOCA DELLE TS-CNS

Novita portale fornitori Eni Aggiornamento del 02/10/2017

1. Accordo di servizio Richiesta Indirizzi PEC CAD Art6 [concessionario del servizio di posta certificata al cittadino]

1 DESCRIZIONE DELLE FUNZIONI REGISTRAZIONE UTENZE INTERNET Caricamento utente internet (data entry)... 3

Web Service per importare una pratica SUAP in. attraverso

Manuale operativo di amministrazione del Portale Aziende BPM

PROGETTO TESSERA SANITARIA DICHIARAZIONE PRECOMPILATA

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

Tutorial di configurazione e programmazione di OpenSPCoop. Tutorial di configurazione e programmazione di OpenSPCoop

WebCare. Specifiche Tecniche recupero dati per tariffazione. Redatto da: STUDIOFARMA 28 MAGGIO 2009 Verificato da: Approvato da:

SISTEMA TESSERA SANITARIA 730 SPESE SANITARIE

Servizio upload fatture xml del Portale Servizi ai Fornitori del Gruppo FSI Guida operativa

Realizzazione di un sistema per l archiviazione, la conservazione sostitutiva e la dematerializzazione dei documenti

Progetto SISSR. Regione Veneto S01 AUR SPECIFICHE PER NOTIFICHE PUNTUALI. AUR - Specifiche Integrazione servizi per notifica puntuale

SISTEMA TESSERA SANITARIA 730 SPESE SANITARIE

ScanDoc presentazione ed uso

Specifiche tecniche per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica

Acquisto corsi online da parte di aziende

Manuale dei Servizi Web dei Flussi e dell autenticazione centralizzata regionale

SISTEMA TESSERA SANITARIA 730 SPESE SANITARIE

EURITMO. Manuale di utilizzo. IN.TE.S.A. S.p.A. V 1.0.0

Web Service per il controllo e la trasmissione telematica delle pratiche di Comunicazione Unica

Manuale NoiPA. NoiPAssicura

SCUOLE: Caselle Posta Elettronica Certificata

Borsa Continua Nazionale del Lavoro Accesso alla scrivania intermediari

Gestione Conto Sociale 2017

DIREZIONE GENERALE SERVIZI INTERNI

Manuale utente. Ministero delle Infrastrutture e dei Trasporti. GEIW_ManualeUtente_GestioneIstruttoria_UtenteImpresa-1.0.docx

Mon Ami 3000 Spesometro Comunicazione delle fatture emesse e ricevute

Web Services Servizio Telematico Dogane

PROGETTO TESSERA SANITARIA

SVI Nuovo Sistema Revisioni

Appendice A: Schema XML della descrizione della Busta e-gov

SMS Gateway - Specifiche WS. Specifica Tecnica

SERVIZIO TRASMISSIONE ASSEGNI DIGITALI PER LA LEVATA DEL PROTESTO

La pagina di accesso all area riservata del Fondo richiede all azienda la preventiva generazione delle credenziali di accesso.

PROGETTO TESSERA SANITARIA

MODALITÀ DI QUALIFICAZIONE DELLA PORTA DI DOMINIO

Manuale NoiPA. Modifica delle modalità di riscossione dello stipendio

Client e Server comunicano tramite il protocollo SOAP.

ALLEGATO Specifiche di Interfaccia

SERVIZIO DI CONSULTAZIONE ELENCHI PEC

Regione Puglia. Area politiche per lo Sviluppo Economico, il Lavoro e l Innovazione. Servizio Competitività dei Sistemi Produttivi

IMPRESE SETTORE DELLO SPETTACOLO

GUIDA ALLA COMPILAZIONE

Guida per la registrazione al portale

Iscrizione nuovo Fornitore del Gruppo FSI al Portale Servizi ai Fornitori Guida operativa

Manuale Utente. di registrazione alla BDAP. (Banca Dati delle Amministrazioni Pubbliche) Bilanci Armonizzati. Versione 1.0

Portale S.i.ASIM. Manuale Azienda

Sistema di Teleraccolta EMITTENTI

Progetto WiFi Ordine degli Avvocati di Viterbo Manuale d uso per la connessione HOTSPOT v

Web Service SOAP e WSDL. Tito Flagella tito@link.it Lorenzo Nardi nardi80@gmail.com

Manuale cliente finale portale accertamenti delibera 40

Referti on-line e CRM ReView Service Monitor Specifiche tecniche

Manuale NoiPA. Modifica Dati Personali

Specifiche di test e collaudo Servizio Art. 59bis ACN - Cartelle MMG/PLS

Progetto SIRPE De-materializzazione delle prescrizioni. Servizi personalizzati della CIL

MANUALE REGISTRAZIONE ATI Manuale Operativo per Fornitore

Oggetto: Manuale Conservazione Registro Giornaliero procedura CREDEMTEL

Manuale Operativo. Richieste di Ritiro Sottoscrittore. Versione: 1.3 Sottoscrittore

Manuale Utente del Portale MyTerna. La Registrazione

Certificazione e.toscana Compliance. Applicativi di Sistemi Informativi degli Enti Locali (SIL)

18/05/2016 MANUALE UTENTE

Web Service. Massimo Martinelli

Manuale delle procedure di gestione PROCEDURE IMPRESE

Elenco degli idonei alla nomina a Direttore Generale in attuazione dell art. 11, comma 1, lettera p) della legge 7 agosto 2015 n.

Manuale di Aggiornamento BOLLETTINO. Rel E. DATALOG Soluzioni Integrate a 32 Bit

CeIMS Cloud e-invoice Management System. Nuova funzionalità di export fatture

Portale Fornitori Italgas

Definizione delle interfacce di colloquio SOAP 1.1

L Iniziativa egovernment.net per l Italia. Porte di Dominio per la Cooperazione Applicativa Allegato 2

ACCESSO AL PORTALE INTERNET GSE

Servizi e-business Gestione elettronica Bandi UE Manuale Referente Bando

MANUALE D USO di GESTIONE PEC2 PER IL SERVIZIO POSTECERT POST CERTIFICATA (modalità Avanzata)

Portale Gestione Raccomandate guida utente

Ministero delle Infrastrutture e dei Trasporti

Manuale Utente di registrazione alla BDAP (Banca Dati delle Amministrazioni Pubbliche) Bilanci Armonizzati

Fatture e corrispettivi specifiche tecniche

Anticipo Fatture Elettronico

Gestione dei Pagamenti e degli Incassi

Manuale di istruzione per l accesso ai servizi CURIT. per Amministratori di Condominio. a cura di ILSPA

Via Sandano 47bis/ Correzzola Loc. Villa del Bosco (PD)

Transcript:

WebEDI Interfaccia web service Descrizione dei servizi Documento Redatto da: Massimo Candi Verificato da: Massimo Candi Approvato da: Massimo Candi Modello Codice Documento Versione e Data Identificativo file Totale pagine SGQ-MGN-03_01 Codice Edizione N. 1 D:\Documents and settings\a903213\local 60 Settings\Temporary Internet Files\Content.Outlook\0Z2YKOOA\EDIWebService 2 0.doc

Scopo del documento In questo documento vengono descritte le operazioni esposte dal web service. 2 60

Lista di distribuzione Nominativo Massimo Candi Riferimento Enel Servizi 3 60

Modifiche al documento Le modifiche riportate nella tabella seguente sono riferite alla versione precedente del documento. Descrizione cambiamenti Riferimento 4 60

Acronimi Di seguito la lista degli acronimi utilizzati nel documento. Acronimo Descrizione 5 60

Indice 1. Introduzione... 7 2. Operazioni esposte dal web service... 8 3. Servizi di Autenticazione... 9 3.1. login()... 9 3.2. logoff()... 11 4. Servizi trasferimento documenti... 12 4.1. getlistadocumenti()... 12 4.2. getdocumento()... 16 4.3. updatedocumento()... 18 4.4. setdocumento()... 19 5. Servizi Estratto Conto... 21 5.1. getecperiodbalances... 21 5.2. getecstatement... 25 5.3. getecopenitems... 29 5.4. geteclistparkinvoice... 32 5.5. getecbalanceditems... 35 5.6. getecbalancedetail... 38 5.7. Schema XSD MESSAGE... 41 6. Codici di errore... 43 7. WSDL... 44 6 60

1. Introduzione Al fine di consentire l accesso diretto tra un sistema esterno ed il sistema WebEDI è stata sviluppata una componente applicativa in grado di mettersi al servizio di un applicazione comunicando su di una medesima rete tramite il protocollo http/https. Una componente applicativa di questo tipo prende comunemente il nome di Web Service e consente quindi alle applicazioni che vi si collegano di usufruire delle funzioni che mette a disposizione. Nella figura seguente è indicata la struttura di riferimento del Web Service. WEB Services WEB SERVER Internet Information Server Apache AXIS Logica BUSINESS Application Container 7 60

2. Operazioni esposte dal web service Possiamo suddividere le operazioni previste dal web service in tre gruppi: - Autenticazione: login(), logoff() - Trasferimento documenti: getlistadocumenti(), set Documento(), getdocumento(), updatedocumento() - Estratto conto: getecperiodbalances(), getecstatement(), getecopenitems(), getecbalanceditems(), geteclistparkinvoice(), getecbalancedetail(). 8 60

3. Servizi di Autenticazione La prima operazione che deve essere invocata è il servizio login al fine di autenticarsi sul sistema mediante userid e password. Al termine delle operazioni, deve essere chiamato il servizio logoff che chiude la sessione http aperta dal servizio login. Tra il login ed il logoff è possibile richiamare gli altri servizi previsti dal web service. Si precisa che la userid da indicare non può essere l indirizzo di posta con cui ci si è registrati sul portale Fornitori. Qualora non si disponga di altro contattare il service (06 8305 5500) chiedendo l utenza corretta e fornendo la userid in possesso. 3.1. login() public java.lang.string login(java.lang.string userid, java.lang.string password) Parameters: userid, password Returns: java.lang.string Il servizio consente il riconoscimento sul sistema WebEDI mediante la userid e password con cui si accede al portale Enel Fornitori. Esempio di busta XML da inviare al servizio: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:login xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">amleto</in0> <in1 xsi:type="xsd:string">passw01</in1> </m:login> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Viene restituita una stringa strutturata come segue: <Messaggio> <Da></Da> <A></A> <id></id> <TipoDoc></TipoDoc> <Risposta> <Tipo></Tipo> <Codice></Codice> <Msg> </Msg> </Risposta> </Messaggio> 9 60

E possibile verificare l esito dell operazione controllando il contenuto dei nodi Tipo, Codice, Msg secondo la tabella: <Tipo> <Codice> <Msg> I 003 Login effettuato correttamente E possibile chiamare le operazioni successive. E 005 Userid non valorizzata E 052 Password non valorizzata E 999 Errore di autenticazione Userid o password errata Effettuato il login con esito positivo è possibile procedere alla chiamate delle altre operazioni previste dal web service. Le successive operazioni devono essere invocate nell ambito della stessa sessione http del login effettuato. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("userid",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("password",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.setoperationname("login"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] userid,password}); System.out.println(ret); Si precisa che per poter accedere al web service occorre entrare su WebEDI almeno una volta autenticandosi sul portale Fornitori con le stesse credenziali utilizzate per il web service. 10 60

3.2. logoff() public java.lang.string logoff() Returns: java.lang.string Il servizio chiude la sessione di lavoro http. Deve essere invocato al termine delle operazioni previste dalla sessione di lavoro. Esempio di busta XML da inviare al servizio: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:logoff xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:/> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Viene restituita una stringa strutturata come segue: <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance"> <soapenv:body> <ns1:logoffresponse soapenv: xmlns:ns1="http://soap.edimassivo.sistinf.it"/> </soapenv:body> </soapenv:envelope> try axis_call.setoperationname("logoff"); axis_call.removeallparameters(); axis_call.setreturntype(null); ret = (String)axis_call.invoke(new Object [] }); } catch(exception e) } 11 60

4. Servizi trasferimento documenti Vanno distinte due fasi: - invio dei documenti ad ENEL: servizio set Documento - ricezione documenti inviati da Enel: servizi getlistadocumenti, getdocumento, update Documento In particolare, riguardo alla ricezione dei documenti, la logica per implementare il trasferimento dei documenti deve prevedere la seguente sequenza di operazioni: getlistadocumenti getdocumento updatedocumento getlistadocumenti restituisce l elenco dei documenti inviati da Enel non ancora ricevuti getdocumento consente di ricevere la stringa XML del singolo documento updatedocumento consente di modificare lo stato del documento in Ricevuto. setdocumento consente di inviare la stringa XML di un singolo documento Il sistema controlla se è stato fatto prima il login con esito positivo. 4.1. getlistadocumenti() public java.lang.string getlistadocumenti() public java.lang.string getlistadocumenti(java.lang.string richiesta) Parameters: richiesta Returns: java.lang.string Il servizio consente di avere l elenco dei documenti inviati da Enel non ancora ricevuti. Prevede un parametro di input in cui specificare la query qualora si intenda effettuare una ricezione selettiva per tipo documento. Se viene richiamato il servizio senza il passaggio del parametro viene restituita la lista completa di tutti i documenti da ricevere. Esempio di busta XML da inviare al servizio senza il passaggio del parametro richiesta : <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getlistadocumenti xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:/> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 12 60

Esempio di busta XML da inviare al servizio senza il passaggio del parametro richiesta : <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getlistadocumenti xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string"><query_edi><parametri><cond_colonna>and</cond_colonna>& lt;colonna>tipodocumento</colonna><cond_valore>=</cond_valore><valore>3 </valore></parametri></query_edi></in0> </m:getlistadocumenti> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In questo caso il parametro richiesta contiene la seguente stringa: <Query_Edi> <Parametri> <cond_colonna>and</cond_colonna> <colonna>tipodocumento</colonna> <cond_valore>=</cond_valore> <valore>3</valore> </Parametri> </Query_Edi> <cond_colonna> <colonna> <cond_valore> <valore> AND, OR TIPODOCUMENTO = 3 benestare 2 specifica ordine 4 avviso pagamento 5 ricevuta di ritorno Esempio di query multipla: <Query_Edi> <Parametri> <cond_colonna>and</cond_colonna> <colonna>tipodocumento</colonna> <cond_valore>=</cond_valore> <valore>3</valore> </Parametri> <Parametri> <cond_colonna>or</cond_colonna> <colonna>tipodocumento</colonna> <cond_valore>=</cond_valore> <valore>5</valore> </Parametri> </Query_Edi> 13 60

In caso di errore o documenti non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <Messaggio> <Da></Da> <A></A> <id></id> <TipoDoc></TipoDoc> <Risposta> <Tipo></Tipo> <Codice></Codice> <Msg> </Msg> </Risposta> </Messaggio> E possibile verificare l esito dell operazione controllando il contenuto dei nodi Tipo, Codice, Msg secondo la tabella: <Tipo> <Codice> <Msg> W 100 Dati non presenti per le selezioni effettuate E 999 Caricamento Lista Documenti in Errore... Se ci sono invece documenti da ricevere viene restituita una stringa strutturata come segue: <Lista> <RecLista> <pkcoda>53285</pkcoda> <Mittente>C.E.B. IMPIANTI - SRL</Mittente> <NumDoc>0000492989</NumDoc> <TipoDoc>3</TipoDoc> <DescrDoc>BENESTARE</DescrDoc> <DataIn>14/07/2009</DataIn> <CodiceAppalto> </CodiceAppalto></RecLista> <RecLista> <pkcoda>54093</pkcoda> <Mittente>C.E.B. IMPIANTI - SRL</Mittente> <NumDoc>0000493040</NumDoc> <TipoDoc>3</TipoDoc> <DescrDoc>BENESTARE</DescrDoc> <DataIn>04/11/2009</DataIn> <CodiceAppalto> </CodiceAppalto></RecLista> <RecLista> <pkcoda>55342</pkcoda> <Mittente>C.E.B. IMPIANTI - SRL</Mittente> <NumDoc>0000493047</NumDoc> <TipoDoc>3</TipoDoc> <DescrDoc>BENESTARE</DescrDoc> <DataIn>25/01/2010</DataIn> <CodiceAppalto> </CodiceAppalto></RecLista> </Lista> 14 60

La stringa strutturata prevede n occorrenze del nodo RecLista che contiene i seguenti campi: - pkcoda: identificativo EDI univoco per documento - Mittente: partita iva ENEL - NumDoc: numero documento - TipoDoc: tipologia docunto - DescrDoc: descrizione del documento - DataIn: data di inserimento da parte di ENEL - CodiceAppalto (non è gestito) Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.setoperationname("getlistadocumenti"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] }); System.out.println(ret); Tabella tipi documento Codice Descrizione 3 BENESTARE 4 AVVISO DI PAGAMENTO 5 RICEVUTA DI RITORNO 20 LETTERA DI INCARICO 15 60

4.2. getdocumento() public java.lang.string getdocumento(java.lang.integer) Parameters: pkcoda Returns: java.lang.string Il servizio consente di estrarre da WebEDI il documento che ha come identificativo EDI il valore passato del parametro pkcoda. Il valore pkcoda viene restituito dal servizio getlistadocumenti descritto nel paragrafo precedente. Esempio di busta XML da inviare al servizio con il passaggio del parametro rpkcoda : <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getdocumento xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:int">26063</in0> </m:getdocumento> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In caso di errore o documenti non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <Messaggio> <Da></Da> <A></A> <id></id> <TipoDoc></TipoDoc> <Risposta> <Tipo></Tipo> <Codice></Codice> <Msg> </Msg> </Risposta> </Messaggio> E possibile verificare l esito dell operazione controllando il contenuto dei nodi Tipo, Codice, Msg secondo la tabella: <Tipo> <Codice> <Msg> W 100 Dati non presenti per le selezioni effettuate E 999 Errore generico... 16 60

Se il documento richiesto è presente viene restituita la stringa XML del documento stesso: Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("pkcoda",org.apache.axis.encoding.xmltype.xsd_int.javax.xml.rpc.parametermode.in); axis_call.setoperationname("getdocumento"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] pkcoda}); System.out.println(ret); 17 60

4.3. updatedocumento() public java.lang.string updatedocumento(java.lang.integer) Parameters: pkcoda Returns: java.lang.string Il servizio consente di cambiare lo stato del documento in Ricevuto relativamente al documento con identificativo EDI passato nel parametro pkcoda. Il servizio deve essere richiamato dopo il getdocumento andato a buon fine. Esempio di busta XML da inviare al servizio con il passaggio del parametro rpkcoda : <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:updatedocumento xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:int">26063</in0> </m:updatedocumento> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In caso di errore o documenti non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <Messaggio> <Da></Da> <A></A> <id></id> <TipoDoc></TipoDoc> <Risposta> <Tipo></Tipo> <Codice></Codice> <Msg> </Msg> </Risposta> </Messaggio> E possibile verificare l esito dell operazione controllando il contenuto dei nodi Tipo, Codice, Msg secondo la tabella: <Tipo> <Codice> <Msg> W 100 Dati non presenti per le selezioni effettuate E 999 Errore generico... I 001 Aggiornamento effettuato 18 60

Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("pkcoda",org.apache.axis.encoding.xmltype.xsd_int,javax.xml.rpc.parametermode.in); axis_call.setoperationname("updatedocumento"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] pkcoda}); System.out.println(ret); 4.4. setdocumento() public java.lang.string setdocumento(java.lang.string) Parameters: stringaxml Returns: java.lang.string Il servizio consente di inviare un singolo documento XML conforme allo schema di validazione ENEL. Esempio di busta XML da inviare al servizio con il passaggio del parametro stringaxml : <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:setdocumento xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">stringaxml</in0> </m:setdocumento> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 19 60

In caso di errore di invio viene restituita una stringa strutturata come segue: <Messaggio> <Da></Da> <A></A> <id></id> <TipoDoc></TipoDoc> <Risposta> <Tipo></Tipo> <Codice></Codice> <Msg> </Msg> </Risposta> </Messaggio> E possibile verificare l esito dell operazione controllando il contenuto dei nodi Tipo, Codice, Msg secondo la tabella: <Tipo> <Codice> <Msg> W 100 Dati non presenti per le selezioni effettuate E. Errore.. I 001 Inserimento effettuato Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("pkcoda",org.apache.axis.encoding.xmltype.xsd_int,javax.xml.rpc.parametermode.in); axis_call.setoperationname("updatedocumento"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] pkcoda}); System.out.println(ret); 20 60

5. Servizi Estratto Conto I servizi di seguito descritti consentono ai fornitori accreditati sul portale Fornitori ed abilitati al servizio WebEDI di consultare il proprio estratto conto. Elenco dei servizi previsti: getecperiodbalances: saldo per singolo periodo getecstatement: elenco operazioni in accredito/addebito getecopenitems: elenco delle registrazioni aperte getecbalanceditems: elenco operazioni chiuse (fatture pagate/pareggiate) getecbalancedetail: dettaglio operazioni dare/avere di un determinate periodo geteclistparkinvocice: elenco fatture/note di credito in lavorazione I servizi possono essere richiamati solo dopo aver effettuato il login. I dati che verranno messi a disposizione dai servizi verranno estratti dai sistemi gestionali ENEL solo alla prima invocazione nell ambito dello stesso giorno. 5.1. getecperiodbalances public java.lang.string getecperiodbalances(java.lang.string, java.lang.string) Parameters: piva_fornitore, piva_enel Returns: java.lang.string Con questo servizio un sistema esterno chiede il saldo della propria azienda rispetto una singola società ENEL. Il servizio si aspetta due parametri in input: partita iva del fornitore partita iva della società ENEL Esempio di busta XML da inviare al servizio: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getecperiodbalances xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">01392380547</in0> <in1 xsi:type="xsd:string">05779711000</in1> </m:getecperiodbalances> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 21 60

In caso di errore o dati non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>E</RC> <MSG> </MSG> <ITEMS> </ITEMS> </T-MESSAGE> E possibile verificare l esito dell operazione controllando il contenuto dei nodi RC, MSG secondo la tabella: <RC> W E <MSG> Dato non disponibile. Ripetere richiesta tra qualche minuto Fornitore non abilitato.. I Information. Viene restituito dei dati Per RC=I restituisce una stringa XML strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>I</RC> <MSG>Information</MSG> <ITEMS> <ITEM> <PERIOD>1</PERIOD> <DEBITS_MTH>0</DEBITS_MTH> <CREDIT_MTH>0</CREDIT_MTH> <BALANCE>0</BALANCE> <ACCUMULATED_BALANCE>1635254.15</ACCUMULATED_BALANCE> <CURRENCY>EUR</CURRENCY> </ITEM> <ITEM> <PERIOD>2</PERIOD> <DEBITS_MTH>0</DEBITS_MTH> <CREDIT_MTH>0</CREDIT_MTH> <BALANCE>0</BALANCE> <ACCUMULATED_BALANCE>1635254.15</ACCUMULATED_BALANCE> <CURRENCY>EUR</CURRENCY> </ITEM>.. 22 60

L XML prevede un nodo ITEM per ciascun periodo (mese dell anno corrente). PERIOD DEBITS_MTH CREDIT_MTH BALANCE Mese dell anno corrente importo delle operazioni di addebito registrate da Enel sul conto del fornitore (es. nota di credito emessa dal fornitore, pagamenti o altre operazioni contabili) fino alla data ora estrazione importo delle operazioni di accredito registrate da Enel sul conto del fornitore (es. fatture) fino alla data ora estrazione evidenzia la differenza tra il valore Avere e il valore Dare fino alla data ora estrazione ACCUMULATED_BALANCE il saldo accumulato si riferisce all elenco di tutte le registrazioni ancora aperte nei confronti del fornitore Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("par1",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par2",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.setoperationname("getecperiodbalances"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] piva_fornitore, piva_enel}); System.out.println(ret); 23 60

Schema di validazione. <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:complextype name="t_message"> <xsd:sequence> <xsd:element name="rc" type="xsd:string"/> <xsd:element name="msg" type="xsd:string"/> <xsd:element name="item" type="t_item" minoccurs="0" maxoccurs="12"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="t_item"> <xsd:sequence> <xsd:element name="period" type="xsd:string"/> <xsd:element name="debits_mth" type="xsd:float"/> <xsd:element name="credit_mth" type="xsd:float"/> <xsd:element name="balance" type="xsd:float"/> <xsd:element name="accumulated_balance" type="xsd:float"/> <xsd:element name="currency" type="xsd:string"/> </xsd:sequence> </xsd:complextype> <xsd:element name="message" type="t_message"/> </xsd:schema> 24 60

5.2. getecstatement public java.lang.string getecstatements(java.lang.string, java.lang.string, java.lang.integer, java.lang.string) Parameters: piva_fornitore, piva_enel, period, operazione Returns: java.lang.string Con questo servizio un sistema esterno, solo dopo aver invocato il servizio getecperiodbalances, può richiedere i seguenti dati in base al parametro operazione indicato: D : elenco delle operazioni di addebito registrate da Enel sul conto del fornitore (es. nota di credito emessa dal fornitore, pagamenti o altre operazioni contabili) fino alla data ora estrazione A : elenco delle operazioni di accredito registrate da Enel sul conto del fornitore (es. fatture) fino alla data ora estrazione Esempio di busta XML da inviare al servizio per i movimenti DARE: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getecstatement xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">01392380547</in0> <in1 xsi:type="xsd:string">05779711000</in1> <in2 xsi:type="xsd:int">9</in2> <in3 xsi:type="xsd:string">d</in3> </m:getecstatement> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Esempio di busta XML da inviare al servizio per i movimenti AVERE: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getecstatement xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">01392380547</in0> <in1 xsi:type="xsd:string">05779711000</in1> <in2 xsi:type="xsd:int">9</in2> <in3 xsi:type="xsd:string">a</in3> </m:getecstatement> </SOAP-ENV:Body> </SOAP-ENV:Envelope> 25 60

In caso di errore o dati non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>E</RC> <MSG> </MSG> <ITEMS> </ITEMS> </T-MESSAGE> E possibile verificare l esito dell operazione controllando il contenuto dei nodi RC, MSG secondo la tabella: <RC> W E <MSG> Dato non disponibile. Ripetere richiesta tra qualche minuto Fornitore non abilitato.. I Information. Viene restituito dei dati 26 60

Per RC=I restituisce una stringa XML strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>I</RC> <MSG>Information</MSG> <ITEMS> <ITEM> <REF_DOC_NO>ALE4</REF_DOC_NO> <DOC_DATE>2010-06-27</DOC_DATE> <CURRENCY>EUR</CURRENCY> <LC_AMOUNT>13200</LC_AMOUNT> <TERM_DATE>2011-08-25</TERM_DATE> <DOC_TYPE>FAT. FORN. ITALIA </DOC_TYPE> <PYMT_METH>PAE - FOR - Bonifico in EU </PYMT_METH> <PMNT_BLOCK>Blocco al Pag. Gener</PMNT_BLOCK> <ITEM_TEXT>FAT. FORN. ITALIA</ITEM_TEXT> <DB_CR_IND>H</DB_CR_IND> </ITEM> <ITEM> <REF_DOC_NO>NUOVO</REF_DOC_NO> <DOC_DATE>2010-06-27</DOC_DATE> <CURRENCY>EUR</CURRENCY> <LC_AMOUNT>119</LC_AMOUNT> <TERM_DATE>2010-06-27</TERM_DATE> Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("par1",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par2",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par3",org.apache.axis.encoding.xmltype.xsd_int,javax.xml.rpc.parametermode.in); axis_call.addparameter("par4",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.setoperationname("getecstatement"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] piva_fornitore, piva_enel, period, operazione}); System.out.println(ret); 27 60

Schema di validazione MESSAGE. 28 60

5.3. getecopenitems public java.lang.string getecopenitems(java.lang.string, java.lang.string) Parameters: piva_fornitore, piva_enel Returns: java.lang.string Con questo servizio un sistema esterno, solo dopo aver invocato il servizio getecperiodbalances, può richiedere il saldo accumulato riferito all elenco di tutte le registrazioni ancora aperte nei confronti del fornitore. Esempio di busta XML da inviare al servizio: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getecopenitems xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">01392380547</in0> <in1 xsi:type="xsd:string">05779711000</in1> </m:getecopenitems> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In caso di errore o dati non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>E</RC> <MSG> </MSG> <ITEMS> </ITEMS> </T-MESSAGE> E possibile verificare l esito dell operazione controllando il contenuto dei nodi RC, MSG secondo la tabella: <RC> W E <MSG> Dato non disponibile. Ripetere richiesta tra qualche minuto Fornitore non abilitato.. I Information. Viene restituito dei dati 29 60

Per RC=I restituisce una stringa XML strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>I</RC> <MSG>Information</MSG> <ITEMS> <ITEM> <REF_DOC_NO>194/03</REF_DOC_NO> <DOC_DATE>2003-07-01</DOC_DATE> <CURRENCY>EUR</CURRENCY> <LC_AMOUNT>1059.23</LC_AMOUNT> <TERM_DATE>2011-07-29</TERM_DATE> <DOC_TYPE>FAT. FORN. ITALIA </DOC_TYPE> <PYMT_METH>PAE - FOR - Bonifico in EU </PYMT_METH> <PMNT_BLOCK>Blocco al Pag. Gener</PMNT_BLOCK> <ITEM_TEXT>FAT. FORN. ITALIA</ITEM_TEXT> <DB_CR_IND>H</DB_CR_IND> </ITEM> <ITEM> <REF_DOC_NO>198/03</REF_DOC_NO> <DOC_DATE>2003-07-01</DOC_DATE> <CURRENCY>EUR</CURRENCY> Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("par1",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par2",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.setoperationname("getecopenitems"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] piva_fornitore, piva_enel}); System.out.println(ret); 30 60

Schema di validazione MESSAGE. 31 60

5.4. geteclistparkinvoice public java.lang.string geteclistparkinvocice(java.lang.string, java.lang.string) Parameters: piva_fornitore, piva_enel Returns: java.lang.string Con questo servizio un sistema esterno, solo dopo aver invocato il servizio getecperiodbalances, può richiedere il saldo accumulato si riferisce all elenco di tutte le registrazioni ancora aperte nei confronti del fornitore. Esempio di busta XML da inviare al servizio: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:geteclistparkinvoice xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">string</in0> <in1 xsi:type="xsd:string">string</in1> </m:geteclistparkinvoice> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In caso di errore o dati non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>E</RC> <MSG> </MSG> <ITEMS> </ITEMS> </T-MESSAGE> E possibile verificare l esito dell operazione controllando il contenuto dei nodi RC, MSG secondo la tabella: <RC> W E <MSG> Dato non disponibile. Ripetere richiesta tra qualche minuto Fornitore non abilitato.. I Information. Viene restituito dei dati 32 60

Per RC=I restituisce una stringa XML strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>I</RC> <MSG>Information</MSG> <ITEMS> <ITEM> <REF_DOC_NO>43123423</REF_DOC_NO> <DOC_DATE>2009-12-20</DOC_DATE> <CURRENCY>EUR</CURRENCY> <LC_AMOUNT>136.68</LC_AMOUNT> <AMT_DOCCURR>136.68</AMT_DOCCURR> <TERM_DATE>2011-05-25</TERM_DATE> <DOC_TYPE>FAT. FORN. ITALIA</DOC_TYPE> <PYMT_METH>PAE - FOR - Bonifico in EU</PYMT_METH> <PMNT_BLOCK></PMNT_BLOCK> <ITEM_TEXT></ITEM_TEXT> </ITEM> <ITEM> <REF_DOC_NO>54354</REF_DOC_NO> <DOC_DATE>2009-12-20</DOC_DATE> <CURRENCY>EUR</CURRENCY> Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("par1",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par2",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.setoperationname("geteclistparkinvoice"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] piva_fornitore, piva_enel}); System.out.println(ret); 33 60

Schema di validazione. 34 60

5.5. getecbalanceditems public java.lang.string getecbalanceditems(java.lang.string, java.lang.string,java.lang.integer) Parameters: piva_fornitore, piva_enel, periodo Returns: java.lang.string Con questo servizio un sistema esterno, solo dopo aver invocato il servizio getecbalanceditems, può richiedere l elenco operazioni chiuse (fatture pagate/pareggiate). Esempio di busta XML da inviare al servizio: <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getecbalanceditems xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">01392380547</in0> <in1 xsi:type="xsd:string">05779711000</in1> <in2 xsi:type="xsd:int">9</in2> </m:getecbalanceditems> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In caso di errore o dati non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>E</RC> <MSG> </MSG> <ITEMS> </ITEMS> </T-MESSAGE> E possibile verificare l esito dell operazione controllando il contenuto dei nodi RC, MSG secondo la tabella: <RC> W E <MSG> Dato non disponibile. Ripetere richiesta tra qualche minuto Fornitore non abilitato.. I Information. Viene restituito dei dati 35 60

Per RC=I restituisce una stringa XML strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>I</RC> <MSG>Information</MSG> <ITEMS> <ITEM> <REF_DOC_NO>12000</REF_DOC_NO> <DOC_DATE>2011-05-31</DOC_DATE> <CURRENCY>EUR</CURRENCY> <LC_AMOUNT>20</LC_AMOUNT> <AMT_DOCCURR>20</AMT_DOCCURR> <TERM_DATE>2011-05-31</TERM_DATE> <DOC_TYPE>FAT. FORN. ITALIA </DOC_TYPE> <PYMT_METH>PAE - FOR - Bonifico in EU </PYMT_METH> <PMNT_BLOCK></PMNT_BLOCK> <ITEM_TEXT>20110608-I1112 PAG.TO AUTOMATICOFAT. FORN. ITALIA</ITEM_TEXT> <DB_CR_IND>H</DB_CR_IND> </ITEM> <ITEM> <REF_DOC_NO>12000</REF_DOC_NO> <DOC_DATE>2011-05-31</DOC_DATE> <CURRENCY>EUR</CURRENCY> Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("par1",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par2",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.setoperationname("getecbalanceditems"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] piva_fornitore, piva_enel}); System.out.println(ret); 36 60

Schema di validazione. 37 60

5.6. getecbalancedetail public java.lang.string ge EcBalanceDetail(java.lang.string, java.lang.string, java.lang.integer) Parameters: piva_fornitore, piva_enel, period Returns: java.lang.string Con questo servizio un sistema esterno, solo dopo aver invocato il servizio getecbalancedetail, può richiedere l evidenza della differenza tra il valore Avere e il valore Dare fino alla data ora estrazione. <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <SOAP-ENV:Body> <m:getecbalancedetail xmlns:m="http://soap.edimassivo.sistinf.it" SOAP- ENV:> <in0 xsi:type="xsd:string">01392380547</in0> <in1 xsi:type="xsd:string">05779711000</in1> <in2 xsi:type="xsd:int">9</in2> </m:getecbalancedetail> </SOAP-ENV:Body> </SOAP-ENV:Envelope> In caso di errore o dati non disponibili per i criteri di ricerca impostati viene restituita una stringa strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>E</RC> <MSG> </MSG> <ITEMS> </ITEMS> </T-MESSAGE> E possibile verificare l esito dell operazione controllando il contenuto dei nodi RC, MSG secondo la tabella: <RC> W E <MSG> Dato non disponibile. Ripetere richiesta tra qualche minuto Fornitore no abilitato.. I Information. Viene restituito dei dati 38 60

In output restituisce una stringa XML strutturata come segue: <?xml version="1.0" encoding="iso-8859-1"?> <T-MESSAGE> <RC>I</RC> <MSG>Information</MSG> <ITEMS> <ITEM> <REF_DOC_NO>ALE4</REF_DOC_NO> <DOC_DATE>2010-06-27</DOC_DATE> <CURRENCY>EUR</CURRENCY> <LC_AMOUNT>13200</LC_AMOUNT> <TERM_DATE>2011-08-25</TERM_DATE> <DOC_TYPE>FAT. FORN. ITALIA </DOC_TYPE> <PYMT_METH>PAE - FOR - Bonifico in EU </PYMT_METH> <PMNT_BLOCK>Blocco al Pag. Gener</PMNT_BLOCK> <ITEM_TEXT>FAT. FORN. ITALIA</ITEM_TEXT> <DB_CR_IND>H</DB_CR_IND> </ITEM> <ITEM> <REF_DOC_NO>NUOVO</REF_DOC_NO> <DOC_DATE>2010-06-27</DOC_DATE> <CURRENCY>EUR</CURRENCY> <LC_AMOUNT>119</LC_AMOUNT> <TERM_DATE>2010-06-27</TERM_DATE> Esempio di invocazione del servizio. try service = new Service(); axis_call = (org.apache.axis.client.call)service.createcall(); axis_call.settargetendpointaddress( new URL(indirizzo)); axis_call.setusesoapaction(false); axis_call.setsoapactionuri(""); axis_call.setmaintainsession(true); try axis_call.removeallparameters(); axis_call.addparameter("par1",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par2",org.apache.axis.encoding.xmltype.xsd_string,javax.xml.rpc.parametermode.in); axis_call.addparameter("par3",org.apache.axis.encoding.xmltype.xsd_int,javax.xml.rpc.parametermode.in); axis_call.setoperationname("getecbalancedetail"); axis_call.setreturntype(xmltype.xsd_string); } catch(exception e) return false; } ret = (String)axis_call.invoke(new Object [] piva_fornitore, piva_enel, period, operazione}); System.out.println(ret); 39 60

Schema di validazione MESSAGE 40 60

5.7. Schema XSD MESSAGE Lo schema MESSAGE si riferisce alla stringa XML restituita dai servizi previsti per l estratto conto. <?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/xmlschema"> <xsd:complextype name="t_message"> <xsd:sequence> <xsd:element name="rc" type="xsd:string"/> <xsd:element name="msg" type="xsd:string"/> <xsd:element name="item" type="t_item" minoccurs="0" maxoccurs="unbounded"/> <xsd:element name="total_amount" type="xsd:float"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="t_item"> <xsd:sequence> <xsd:element name="ref_doc_no" type="xsd:string"/> <xsd:element name="doc_date" type="xsd:date"/> <xsd:element name="currency" type="xsd:string"/> <xsd:element name="lc_amount" type="xsd:float"/> <xsd:element name="term_date" type="xsd:date"/> <xsd:element name="doc_type" type="xsd:string"/> 41 60

<xsd:element name="pymt_meth" type="xsd:string"/> <xsd:element name="pmnt_block" type="xsd:string"/> <xsd:element name="item_text" type="xsd:string"/> <xsd:element name="db_cr_ind"> <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="h"/> <xsd:enumeration value="s"/> <xsd:enumeration value=""/> </xsd:restriction> </xsd:simpletype> </xsd:element> </xsd:sequence> </xsd:complextype> <xsd:element name="message" type="t_message"/> </xsd:schema> Per ogni documento riportato nell XML è presente una occorrenza del nodo ITEM. Segue il significato dei singoli nodi figlio. REF_DOC_NO DOC_DATE CURRENCY LC_AMOUNT TERM_DATE DOC_TYPE PYMT_METH PMNT_BLOCK ITEM_TEXT DB_CR_IND Numero del documento. I documenti di pagamento Enel non riportano un valore Data del document Valuta Importo Data di scadenza termini di pagamento Tipologia del document Metodo di pagamento Descrizione dell eventuale blocco al pagamento Note Dove valorizzato assume i valori H (movimento avere) S (movimenti dare) Il nodo TOTAL_AMOUNT risporta il totale complessivo dei movimenti in divisa EURO. 42 60

6. Codici di errore 004=Login gia' effettuato 005=Userid non valorizzata 006=Esecuzione processo di connessione fallito 007=Utente non abilitato 008=Non esiste Partita Iva associata all'identificativo 011=Login non effettuato 012=Il criterio di selezione non e' valido 013=Manca il tag TipoDoc nel documento 014=Documento assente dalla Tabella TipoDocumenti 015=Tipo Comunicazione assente dalla Tabella TipoDocumenti 016=Tipo Comunicazione non valido per il documento selezionato 017=Manca la Partita Iva del Mittente 018=La Partita Iva del mittente non risulta essere quella dell'utente collegato 019=Manca la Partita Iva della Sede Legale 020=La Partita Iva della Sede Legale non risulta essere quella dell'utente collegato 021=Manca la Data Emissione Fattura 022=Data Emissione non valida 023=La data emissione non puo' essere minore di 5 giorni della data solare 024=Manca la Data dell'ordine 025=E' presente la Data Ordine senza il Numero dell'ordine 026=La data dell'ordine deve essere minore o uguale alla data emissione fattura 027=Data Ordine non valida 032=Manca la Data del Benestare 033=E' presente la Data Benestare senza il Numero del Benestare 034=La data del Benestare deve essere minore o uguale alla data emissione fattura 035=Data Benestare non valida 036=Manca la Data della Fattura Associata 037=E' presente la Data Fattura Associata senza il Numero della Fattura Associata 038=La data della Fattura Associata deve essere minore o uguale alla data emissione fattura 039=Data Fattura Associata non valida 044=Manca la Partita Iva del destinatario 049=Partita Iva non presente sulla Tabella Fornitore Societa' Documento 050=Richiesta per costruzione query non corretta 051=Servizio in fase di sviluppo 052=Password mancante 100=La Partita Iva fornitore indicata (pivaforn) non risulta essere quella dell'utente collegato (P_Iva login) 999= Errore generico 43 60

7. WSDL Segue il WSDL per puntare l ambiente di ESERCIZIO WebEDI <?xml version="1.0" encoding="utf-8"?> <!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by ENEL SERVIZI SRL (ENEL SERVIZI SRL) --> <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:intf="https://weg.enel.it/axis/rpcedi.do/urn:soapedi" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/xmlschema" targetnamespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"> <wsdl:message name="getecbalancedetailrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:part name="in2" type="xsd:int"/> <wsdl:message name="getecbalanceditemsrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:part name="in2" type="xsd:int"/> <wsdl:message name="getlistadocumentiresponse1"> <wsdl:part name="getlistadocumentireturn" type="xsd:string"/> <wsdl:message name="myhomerequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:message name="getlistadocumentirequest"> <wsdl:message name="getecbalanceditemsresponse"> <wsdl:part name="getecbalanceditemsreturn" type="xsd:string"/> <wsdl:message name="setdocumentorequest"> <wsdl:part name="in0" type="xsd:string"/> 44 60

<wsdl:message name="getecstatementresponse"> <wsdl:part name="getecstatementreturn" type="xsd:string"/> <wsdl:message name="getecperiodbalancesrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:message name="geteclistparkinvoiceresponse"> <wsdl:part name="geteclistparkinvoicereturn" type="xsd:string"/> <wsdl:message name="geteclistparkinvoicerequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:message name="getecbalancedetailresponse"> <wsdl:part name="getecbalancedetailreturn" type="xsd:string"/> <wsdl:message name="getdocumentorequest1"> <wsdl:part name="in0" type="xsd:int"/> <wsdl:message name="getdocumentoresponse"> <wsdl:part name="getdocumentoreturn" type="xsd:string"/> <wsdl:message name="updatedocumentorequest"> <wsdl:part name="in0" type="xsd:int"/> <wsdl:message name="getlistadocumentirequest1"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:message name="getdocumentoresponse1"> <wsdl:part name="getdocumentoreturn" type="xsd:string"/> <wsdl:message name="myhomeresponse"> <wsdl:part name="myhomereturn" type="xsd:string"/> <wsdl:message name="getecstatementrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:part name="in2" type="xsd:int"/> <wsdl:part name="in3" type="xsd:string"/> <wsdl:message name="getlistadocumentiresponse"> <wsdl:part name="getlistadocumentireturn" type="xsd:string"/> <wsdl:message name="loginrequest1"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:message name="logoffresponse"> <wsdl:message name="updatedocumentoresponse1"> <wsdl:part name="updatedocumentoreturn" type="xsd:string"/> <wsdl:message name="logoffrequest"> <wsdl:message name="updatedocumentoresponse"> <wsdl:part name="updatedocumentoreturn" type="xsd:string"/> 45 60

<wsdl:message name="getdocumentorequest"> <wsdl:message name="getecperiodbalancesresponse"> <wsdl:part name="getecperiodbalancesreturn" type="xsd:string"/> <wsdl:message name="getdocumentorequest2"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:message name="getecopenitemsrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:message name="loginresponse"> <wsdl:part name="loginreturn" type="xsd:string"/> <wsdl:message name="loginrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:message name="getdocumentoresponse2"> <wsdl:part name="getdocumentoreturn" type="xsd:string"/> <wsdl:message name="setdocumentoresponse"> <wsdl:part name="setdocumentoreturn" type="xsd:string"/> <wsdl:message name="getecopenitemsresponse"> <wsdl:part name="getecopenitemsreturn" type="xsd:string"/> <wsdl:message name="updatedocumentorequest1"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:message name="loginresponse1"> <wsdl:part name="loginreturn" type="xsd:string"/> <wsdl:porttype name="edisoapservice"> <wsdl:operation name="myhome" parameterorder="in0"> <wsdl:input name="myhomerequest" message="intf:myhomerequest"/> <wsdl:output name="myhomeresponse" message="intf:myhomeresponse"/> <wsdl:operation name="getdocumento"> <wsdl:input name="getdocumentorequest" message="intf:getdocumentorequest"/> <wsdl:output name="getdocumentoresponse" message="intf:getdocumentoresponse"/> <wsdl:operation name="getdocumento" parameterorder="in0"> <wsdl:input name="getdocumentorequest1" message="intf:getdocumentorequest1"/> <wsdl:output name="getdocumentoresponse1" message="intf:getdocumentoresponse1"/> <wsdl:operation name="getlistadocumenti"> <wsdl:input name="getlistadocumentirequest" message="intf:getlistadocumentirequest"/> <wsdl:output name="getlistadocumentiresponse" message="intf:getlistadocumentiresponse"/> <wsdl:operation name="getlistadocumenti" parameterorder="in0"> 46 60

<wsdl:input name="getlistadocumentirequest1" message="intf:getlistadocumentirequest1"/> <wsdl:output name="getlistadocumentiresponse1" message="intf:getlistadocumentiresponse1"/> <wsdl:operation name="login" parameterorder="in0 in1"> <wsdl:input name="loginrequest1" message="intf:loginrequest1"/> <wsdl:output name="loginresponse1" message="intf:loginresponse1"/> <wsdl:operation name="logoff"> <wsdl:input name="logoffrequest" message="intf:logoffrequest"/> <wsdl:output name="logoffresponse" message="intf:logoffresponse"/> <wsdl:operation name="setdocumento" parameterorder="in0"> <wsdl:input name="setdocumentorequest" message="intf:setdocumentorequest"/> <wsdl:output name="setdocumentoresponse" message="intf:setdocumentoresponse"/> <wsdl:operation name="updatedocumento" parameterorder="in0"> <wsdl:input name="updatedocumentorequest" message="intf:updatedocumentorequest"/> <wsdl:output name="updatedocumentoresponse" message="intf:updatedocumentoresponse"/> <wsdl:operation name="getecperiodbalances" parameterorder="in0 in1"> <wsdl:input name="getecperiodbalancesrequest" message="intf:getecperiodbalancesrequest"/> <wsdl:output name="getecperiodbalancesresponse" message="intf:getecperiodbalancesresponse"/> <wsdl:operation name="getecstatement" parameterorder="in0 in1 in2 in3"> <wsdl:input name="getecstatementrequest" message="intf:getecstatementrequest"/> <wsdl:output name="getecstatementresponse" message="intf:getecstatementresponse"/> <wsdl:operation name="getecopenitems" parameterorder="in0 in1"> <wsdl:input name="getecopenitemsrequest" message="intf:getecopenitemsrequest"/> <wsdl:output name="getecopenitemsresponse" message="intf:getecopenitemsresponse"/> <wsdl:operation name="getecbalanceditems" parameterorder="in0 in1 in2"> <wsdl:input name="getecbalanceditemsrequest" message="intf:getecbalanceditemsrequest"/> <wsdl:output name="getecbalanceditemsresponse" message="intf:getecbalanceditemsresponse"/> <wsdl:operation name="getecbalancedetail" parameterorder="in0 in1 in2"> <wsdl:input name="getecbalancedetailrequest" message="intf:getecbalancedetailrequest"/> <wsdl:output name="getecbalancedetailresponse" message="intf:getecbalancedetailresponse"/> <wsdl:operation name="geteclistparkinvoice" parameterorder="in0 in1"> <wsdl:input name="geteclistparkinvoicerequest" message="intf:geteclistparkinvoicerequest"/> 47 60

<wsdl:output name="geteclistparkinvoiceresponse" message="intf:geteclistparkinvoiceresponse"/> </wsdl:porttype> <wsdl:binding name="soapedisoapbinding" type="intf:edisoapservice"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="myhome"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="myhomerequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="myhomeresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getdocumento"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getdocumentorequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getdocumentoresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getdocumento"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getdocumentorequest1"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getdocumentoresponse1"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getlistadocumenti"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getlistadocumentirequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getlistadocumentiresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> 48 60

<wsdl:operation name="getlistadocumenti"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getlistadocumentirequest1"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getlistadocumentiresponse1"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="login"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="loginrequest1"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="loginresponse1"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="logoff"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="logoffrequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="logoffresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="setdocumento"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="setdocumentorequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="setdocumentoresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="updatedocumento"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="updatedocumentorequest"> namespace="http://soap.edimassivo.sistinf.it"/> 49 60

</wsdl:input> <wsdl:output name="updatedocumentoresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getecperiodbalances"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getecperiodbalancesrequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getecperiodbalancesresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getecstatement"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getecstatementrequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getecstatementresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getecopenitems"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getecopenitemsrequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getecopenitemsresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getecbalanceditems"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getecbalanceditemsrequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getecbalanceditemsresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> 50 60

<wsdl:operation name="geteclistparkinvoice"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="geteclistparkinvoicerequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="geteclistparkinvoiceresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> <wsdl:operation name="getecbalancedetail"> <wsdlsoap:operation soapaction=""/> <wsdl:input name="getecbalancedetailrequest"> namespace="http://soap.edimassivo.sistinf.it"/> </wsdl:input> <wsdl:output name="getecbalancedetailresponse"> namespace="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:output> </wsdl:binding> <wsdl:service name="edisoapservice"> <wsdl:port name="urn:soapedi" binding="intf:soapedisoapbinding"> <wsdlsoap:address location="https://weg.enel.it/axis/rpcedi.do/urn:soapedi"/> </wsdl:port> </wsdl:service> </wsdl:definitions> 51 60

Segue il WSDL per puntare l ambiente di COLLAUDO WebEDI <?xml version="1.0" encoding="utf-8"?> <!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by ENEL SERVIZI SRL (ENEL SERVIZI SRL) --> <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:intf="https://weg.enel.it/axis/rpcedi.do/urn:soapediadd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/xmlschema" targetnamespace="https://weg.enel.it/axis/rpcedi.do/urn:soapediadd"> <wsdl:message name="getecbalancedetailrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:part name="in2" type="xsd:int"/> <wsdl:message name="getecbalanceditemsrequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:part name="in1" type="xsd:string"/> <wsdl:part name="in2" type="xsd:int"/> <wsdl:message name="getlistadocumentiresponse1"> <wsdl:part name="getlistadocumentireturn" type="xsd:string"/> <wsdl:message name="myhomerequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:message name="getlistadocumentirequest"> <wsdl:message name="getecbalanceditemsresponse"> <wsdl:part name="getecbalanceditemsreturn" type="xsd:string"/> <wsdl:message name="setdocumentorequest"> <wsdl:part name="in0" type="xsd:string"/> <wsdl:message name="getecstatementresponse"> <wsdl:part name="getecstatementreturn" type="xsd:string"/> 52 60