Web Services

di il
36 risposte

Web Services

Buongiorno a tutti
Devo creare un programma Web Services Client.
Qualcosa mi dà una dritta su come crearla

Grazie mille a tutti

Marianzo

36 Risposte

  • Re: Web Services

    marianzo ha scritto:


    Devo creare un programma Web Services Client.
    Qualcosa mi dà una dritta su come crearla
    Direi che puoi tranquillamente prendere per buone tutte le risposte che ti sono già state fornite in passato, quando hai posto la stessa domanda, usando una forma altrettanto astratta e generica, senza dare indicazioni precise, per poi abbandonare la discussione e aprire successivamente questa, uguale identica, a distanza di due anni.

    Ciao!
  • Re: Web Services

    Ciao Marco

    se ti fornisco il wsdl mi aiuti a creare le chiamate al servizio?

    Grazie Mille
  • Re: Web Services

    Il forum non serve ad avere consulenza personale.
  • Re: Web Services

    Scusate
  • Re: Web Services

    Qualcuno può aiutarmi?

    Grazie Marianzo
  • Re: Web Services

    marianzo ha scritto:


    Qualcuno può aiutarmi?
    Ti è già stato detto (più volte) quali sono le informazioni che mancano: se non rispondi nel merito, inutile continuare a chiedere aiuto così, senza un senso.
  • Re: Web Services

    marianzo ha scritto:


    se ti fornisco il wsdl mi aiuti a creare le chiamate al servizio?
    Provo a rispondere a questa, fermo restando che l'aiuto non può essere la spiegazione "per filo e per segno" di tutto ciò che bisogna fare per utilizzare un servizio online (per questo esiste la documentazione, i libri, i corsi e il resto), né l'implementazione del progetto al posto tuo.

    Detto questo, quando si ha a disposizione il WSDL, è molto semplice interfacciarsi con il Web Service in Delphi: è sufficiente usare proprio il WSDL per costruire un "proxy", ossia una classe da utilizzare che fornisce metodi con lo stesso nome di quelli offerti dal servizio, ma che dietro le quinte gestisce tutte le dinamiche di passaggio parametri e invocazione dell'endpoint via HTTP del servizio stesso.

    Usa la funzionalità disponibile nell'IDE di Delphi per importare il WSDL, ossia la voce di menu [Component|Import WSDL...], per generare automaticamente la unit che costituisce il "wrapper" (o proxy, come detto sopra) del servizio.

    Tutte le altre informazioni le trovi nella documentazione ufficiale di Delphi (se non stai usando l'ultima versione, fai riferimento alla documentazione della tua, anche se grossomodo non dovrebbero esserci molte differenze).

    Ciao!
  • Re: Web Services

    Buongiorno Marco
    sto utilizzando 11.1 questo è quello che ho creato ma con errori

    procedure TForm1.Button1Click(Sender: TObject);
    var
    Autenticate : SoapAutenticazione;
    Olio : SilosTypeInput;
    Cuaa : CUAAType;
    Soggetti : SoggettiInput;
    Service : InterService;
    OutPut : EsitoResponseType;
    Vettore : ArrayofSoggettiInput;
    begin

    // capture interface to service
    Service := icqrfWSOlio.GetInterService();


    Autenticate := SoapAutenticazione.Create;

    Autenticate.username := 'AAAAAAA';
    Autenticate.password := 'BBBBBBB';
    Autenticate.nomeServizio := 'SoggSiRO';
    // cuaa.
    Soggetti := SoggettiInput.Create;
    Soggetti.idRichiesta := 'hdfgkjdfhg';


    Cuaa := CUAAType.Create;
    Cuaa.CodiceFiscalePersonaFisica := 'fhgfhgfhgfhfhg';


    Vettore := ArrayofSoggettiInput.Create;


    Vettore[1].IdenFiscaleSoggetto.CodiceFiscalePersonaFisica := '46646464646';
    Vettore[1].CodiSogg := '10';
    Vettore[1].DenoSoggetto := 'hgjgjgj';
    Vettore[1].Indirizzo := 'yyyyyy';
    Vettore[1].CodiceNazione :='IT';
    Vettore[1].CodiceIstatProvincia := '012';
    Vettore[1].CodiceIstatComune := '125';

    Vettore[2].IdenFiscaleSoggetto.CodiceFiscalePersonaFisica := '12345678901';
    Vettore[2].CodiSogg := '11';
    Vettore[2].DenoSoggetto := 'jhgjh jghjgjh';
    Vettore[2].Indirizzo := 'VIA SCAPPA, 10';
    Vettore[2].CodiceNazione :='IT';
    Vettore[2].CodiceIstatProvincia := '015';
    Vettore[2].CodiceIstatComune := '456';

    // build the request
    OutPut := Service.SoggSiRO(Vettore);

    end;


    se hai possibilità di aiutarmi

    Grazie in anticipo
  • Re: Web Services

    marianzo ha scritto:


    sto utilizzando 11.1 questo è quello che ho creato ma con errori
    [...]
    se hai possibilità di aiutarmi
    Errori di che tipo?
    Errori di compilazione?
    Errori restituiti dal server?
  • Re: Web Services

    Ciao Marco

    OutPut := Service.SoggSiRO(Vettore);

    errore su Vettore E2010 incompatibile SoggettiInput e ArrayOfSoggettiInput

    Grazie
  • Re: Web Services

    marianzo ha scritto:


    OutPut := Service.SoggSiRO(Vettore);
    errore su Vettore E2010 incompatibile SoggettiInput e ArrayOfSoggettiInput
    Mi pare che il messaggio dica tutto: al metodo SoggSiRO() va passato un valore di tipo SoggettiInput, mentre nel codice riportato viene passato Vettore che è di tipo ArrayOfSoggettiInput.

    La struttura passata non è quella corretta che il metodo si aspetta di ricevere, quindi bisogna creare e valorizzare una istanza di quella effettivamente richiesta (SoggettiInput).

    Non conosco il modello dei dati del WS, quindi non posso essere più specifico, ma il compilatore mi pare sia abbastanza preciso nell'indicazione.
  • Re: Web Services

    Vettore : SoggettiInput;

    Vettore.ElencoSoggettiInput[1].Indirizzo := 'tttttt';

    errore access violation $C0000005
  • Re: Web Services

    marianzo ha scritto:


    Vettore : SoggettiInput;
    Vettore.ElencoSoggettiInput[1].Indirizzo := 'tttttt';
    errore access violation $C0000005
    Quella proprietà ElencoSoggettiInput dell'oggetto Vettore dovrà essere inizializzata in qualche modo, prima di poter essere utilizzata per accedere a un elemento, e l'indice sospetto che debba partire da zero come vale per tutti gli array o le liste in Delphi.

    Al netto dell'interfacciamento al WS, quante altre applicazioni hai scritto in Delphi?
    Conosci almeno i fondamentali del linguaggio e dell'ambiente?
  • Re: Web Services

    Ho scritto diverse applicazioni ma web service nessuno
Devi accedere o registrarti per scrivere nel forum
36 risposte