Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Inviare dati con soap

  1. #1

    Inviare dati con soap

    Ciao, sto provando ad inviare dei dati con soap, ma non mi è molto chiaro come inviarli. Devo interrogare un server che mi ha dato il codice xml da inviare con i dati, ma non saprei come inviarlo, ho provato a fare una cosa del genere
    Codice PHP:
    header("POST /url_corretto/ HTTP/1.1");
            
    header("Host: host_corretto");
            
    header("Content-Type: text/xml; charset=utf-8");
            
    header("Content-Length: length");
            
    header("SOAPAction: \"http://url_corretto\"");
            echo 
    codice_xml_da_inviare;
            exit; 
    ma il browser mi visualizza semplicemente il codice xml che invio. per far vedere la risposta del server cosa devo fare? E' la prima volta che tento di utilizzare soap e non saprei dove mettere mano

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Per soap devi usare le relative funzioni.

    Se il server ti mette a disposizione wsdl usa quelli e cmq dai un occhio qua .

    Qui c'e' la lista di funzioni classi/metodi che php mette a disposizione per gestire soap.

    L'header che hai fatto te nn va bene, intanto perche' l'header soap e' dentro l'xml.
    Praticamente soap e' un xml tipo

    <soap:envelope>
    <soap:header>
    <tag>val</tag>
    </soap:header>

    <soap:boby>


    ... structured data.

    </soap:body>
    </soap:envelope>

    E' una cosa trasparente, cioe' te nn dovresti mettersti a scrivere xml a meno di non dover confirgurare i web services(files .wsdl).

    Come operare :
    creare l'oggetto soap
    settare header parametri
    usare soap_call oppure oggetto->funzione
    recuperare il riusultato(solitamente in formato array)
    gestire il risultato.

    Cmq nel caso spiega meglio che devi fare.
    Se devi inviare dati come li invii?
    Devi usare una funzione mappata su un file wsdl?
    Devi inviare un xml direttamente al web service???

  4. #4
    Ciao, grazie per la risposta. Io devo collegarmi ad un server per inviare dei messaggi (sms) da tale server posso anche prelevare dei dati (tipo i crediti residui, il numero dei messaggi inviati ecc) per ora volevo solo prelevare dei dati, per esempio i crediti residui. Ho un file che spiega i metodi da utilizzare, e le risposte del server ma non ci sono esempi completi con php. Poi c'è un grosso problema, nel server in cui poggia il mio progetto non supporta soap, nel phpinfo non riesco a vaderlo, quindi credi che dovrò abbandonare questa strada.

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Allora da quello che mi dici credo di aver capito che sto servizio si appoggia su file wsdl

    Per manipolarli devi avere soap.
    Senno devi forgiare degli xml che rispettino la sintassi richiesta.

    quindi la request che invii deve avere la doctype=text/xml o altra nn saprei i perusare soap ho sempre usato la classe std di php.

    Fattela abilitare dall'admin no tanto e' un modulo nella config di php sotto apache.

  6. #6
    Originariamente inviato da Virus_101
    Allora da quello che mi dici credo di aver capito che sto servizio si appoggia su file wsdl

    Per manipolarli devi avere soap.
    Senno devi forgiare degli xml che rispettino la sintassi richiesta.

    quindi la request che invii deve avere la doctype=text/xml o altra nn saprei i perusare soap ho sempre usato la classe std di php.

    Fattela abilitare dall'admin no tanto e' un modulo nella config di php sotto apache.
    Ho chiesto e non mi viene attivata, credo che devo abbandonare l'invio dei dati in soap, chiedo di attivarmi un'altro modo di inviare dati, magari faccio una chiamata in get con curl, anche se come metodo non mi piace molto.

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    prova a dare un occhio a questo.

    http://www.guru4.net/articoli/javascript-soap-client/

    Pero' se il server di riferimento non e' nel tuo dominio non funziona.

    O senno prova a smanacciare con gli header alla fine cmq soap e' un file xml

    Studiati la documentazione relativa magari qlke funz te la puoi fare anche te.
    SOlo che e' scomoda la cosa visto che il layer soap esiste gia' implementato.

  8. #8
    Originariamente inviato da Virus_101
    prova a dare un occhio a questo.

    http://www.guru4.net/articoli/javascript-soap-client/

    Pero' se il server di riferimento non e' nel tuo dominio non funziona.

    O senno prova a smanacciare con gli header alla fine cmq soap e' un file xml

    Studiati la documentazione relativa magari qlke funz te la puoi fare anche te.
    SOlo che e' scomoda la cosa visto che il layer soap esiste gia' implementato.
    Nel caso realizzo io la struttura xml, poi come la invio al server? e la risposta del server come la riprendo?

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Per inviare dati devi inviare una request.

    Quindi a questo punto potresti costruire un oggetto HTTPRequest settarne il contenuto ed inviarlo.

    Dai un occhio a questa pagina che c'e' la documentazione.

  10. #10
    Originariamente inviato da Virus_101
    Per inviare dati devi inviare una request.

    Quindi a questo punto potresti costruire un oggetto HTTPRequest settarne il contenuto ed inviarlo.

    Dai un occhio a questa pagina che c'e' la documentazione.
    Ok grazie, appena posso do uno sguardo, ma per ora invio i dati in get, ho poco tempo per terminare lo script.

    P.S.
    Ho contattato diversi servizi di hosting, ma nessuno che supporta le soap, ma come è possibile?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.