Creazione file Xml complesso per richiesta Soap

di il
5 risposte

Creazione file Xml complesso per richiesta Soap

Gentili,
prima di tutto mi scuso se sto sbagliando sezione del forum riguardando la richiesta Xml e C#.
devo valutare la fattibilità di integrare il gestionale di un cliente per poter effettuare una richiesta Soap tramite un file Xml ad un vettore internazionale, il quale restituisce una lettera di vettura; il file xml è abbastanza complesso con svariati elementi e sotto-nodi.
Secondo voi qual è il metodo migliore per creare questo file.
Mi interessa avere una dritta perché il file è abbastanza lungo da assemblare e vorrei perdere meno tempo possibile.
Ringrazio in anticipo chiunque mi fornirà qualche dritta.
Lucius

5 Risposte

  • Re: Creazione file Xml complesso per richiesta Soap

    luciusinfabula ha scritto:


    devo valutare la fattibilità di integrare il gestionale di un cliente per poter effettuare una richiesta Soap tramite un file Xml ad un vettore internazionale, il quale restituisce una lettera di vettura; il file xml è abbastanza complesso con svariati elementi e sotto-nodi.
    La complessità a cui ti riferisci è quella del pacchetto SOAP in sé, oppure di un documento XML che costituisce l'informazione che devi trasferire tramite protocollo SOAP?

    Lo chiedo perché il protocollo SOAP è alla base dei Web Service, un tipo di implementazione di servizio remoto, basato appunto su XML e SOAP, che è supportato dalla maggior parte dei framework e permette (tramite il documento WSDL) di costruire in pochi minuti un "proxy" in grado di ricevere dati in formato intelligibile (per il linguaggio di programmazione adottato) e generare in automatico il pacchetto SOAP di richiesta, oltre a interpretare e convertire il pacchetto SOAP di risposta.

    Riassumendo in breve, se il problema è SOAP, quello lo gestisce il framework e tu basta che aggiungi il servizio al tuo progetto.

    Ciao!
  • Re: Creazione file Xml complesso per richiesta Soap

    Ti ringrazio per la velocità.
    No per quanto riguarda l'utilizzo del servizio SOAP mi hanno fornito un SDK, non ho ancora avuto modo di valutare.
    So che si può aggiungere un endpoint Soap tramite Aggiungi Servizio ed infatti per i pochi servizi Soap che ho dovuto configurare, ho sempre usato quel metodo.
    La difficoltà è proprio nello creare il file Xml che è molto complesso con tanti nodi e sotto-nodi.
    Lucius
  • Re: Creazione file Xml complesso per richiesta Soap

    luciusinfabula ha scritto:


    La difficoltà è proprio nello creare il file Xml che è molto complesso con tanti nodi e sotto-nodi.
    Quindi mi confermi che il file XML di cui parli è il dato che devi trasferire tramite SOAP.

    Una soluzione potrebbe essere quella di ricorrere alla serializzazione, ma forse fai prima a usare le classi del e costruire il documento pezzo per pezzo, magari prendendo i dati da una tua gerarchia di classi che funge da DTO.
  • Re: Creazione file Xml complesso per richiesta Soap

    Salve Marco,
    grazie ancora per le risposte veloci e complete.
    In questo momento sto provando con Postman su un Endpoint di test, appena mi danno le credenziali reali poi dovrò implementare con l'endpoint di produzione reale.
    Si il problema è proprio crearmi il file xml da spedire come richiesta Soap, pensavo anch'io di usare LinqToXml e costruirmi gli elementi a mano ma volevo aspettare una dritta da persona sicuramente più esperta di me .
    Ho provato a crearmi le classi con VS2019 Incolla Speciale -> Incolla XML come classi e mi crea circa 50 classi; penso che aggiungerò a mano gli XElement che servono.
    Grazie ancora.
    Lucius
  • Re: Creazione file Xml complesso per richiesta Soap

    Salve Marco, alla fine sono riuscito a recuperare il file WSDL del servizio fornito, aggiunto al progetto in Visual Studio tramite tasto dx sul progetto > Aggiungi > Aggiungi Riferimento al Servizio e creato il Proxy con tutte le mille mila classi e sottoclassi necessarie per creare il documento ed i metodi di invio e ricezione.
    Grazie mille.
    Lucius
Devi accedere o registrarti per scrivere nel forum
5 risposte