Ho bisogno di utilizzare alcuni servizi Web .NET asmx attualmente implementati in alcuni siti Web. Devo creare un'app che consumi quei webservices come fa il webpsite. Ci sono due problemi. Innanzitutto, non ho alcuna specifica su quei metodi di webservice (chiamate, formato utilizzato ecc.). E in secondo luogo, ho creato solo un'app che usa JSON-framework per ottenere i dati JSON da flick usando la sua API. Immagino che sia stato fatto usando i webservices REST :) Capisco che per poter pubblicare post/arrivare al server ho bisogno di costruire una stringa di richiesta, quindi passarla al server web, ottenere risultati, analizzarli (XML o JSON) e quindi guardali. Quindi, non so come identificare il formato dei servizi web del sito web corrente. Ho visto la fonte di quel sito Web, ho visto un mucchio di file di codice Javascript che stanno facendo un sacco di controllo misterioso, validazione e cose del genere. Quindi, come identificare il formato corretto?Come distinguere è un webservice SOAP o REST?
risposta
Se si tratta di un servizio .NET ASMX, è sempre SOAP. Un servizio SOAP esposto su HTTP utilizzerà sempre i metodi POST HTTP per la comunicazione. Dovrebbe anche esporre un file .wsdl affinché tu consumi e generi codice client da quello, quindi non dovresti preoccuparti di usare un framework JSON o orchestrare le tue richieste HTTP a quel servizio web ... il tuo Objective-C generato il cliente dovrebbe occuparsene per te.
This question seems to have the answers you need for doing this in Objective-C.
Come @whaley dice nella sua risposta, sembra che hai a che fare con un servizio SOAP qui. Sapendo che ti permette di fare un passo nella giusta direzione, ma se vuoi interagire con esso dovrai fare di più. Avrai bisogno di conoscere i dettagli delle operazioni SOAP che supporta, lo schema XML per i messaggi di richiesta e risposta, ecc. Se sei in grado di trovare il file WSDL, dovrebbe fornirti tutte queste informazioni.
Se non si riesce a rintracciare il file WSDL (alcuni servizi non gradiscono renderlo facile per una serie di motivi), allora si può ancora essere in grado di capirlo. Se il sito web interagisce realmente utilizzando l'interfaccia SOAP, puoi esaminare le richieste inviate dal tuo browser utilizzando un numero qualsiasi di strumenti. In Safari, abilita il menu degli strumenti per sviluppatori e poi mostra il web inspector. Puoi vedere i dettagli delle richieste HTTP e vedere cosa sta succedendo. Firefox ha il plugin firebug che può fare lo stesso e altro. Ogni browser ha i suoi strumenti per gli sviluppatori, ma dovrai trovare lo strumento giusto per il tuo browser.
Word of warning: spesso una pagina Web che interagisce con il servizio back-end non utilizza direttamente il servizio SOAP. Potrebbe essere utilizzare un'interfaccia alternativa e non pubblica per effettuare le chiamate necessarie. Se osservi le richieste inviate dal tuo browser e assomiglia a un messaggio SOAP (molte cose come elementi SoapEnvenlope con XML di richiesta/risposta distinti), allora è abbastanza sicuro presumere che tu possa replicare quei messaggi SOAP da objective-c. In caso contrario, potresti essere sfortunato a meno che non sia possibile rintracciare un file WSDL.
- 1. Come produrre XSD per un SOAP Webservice
- 2. REST vs SOAP: SOAP è davvero più sicuro del REST?
- 3. REST vs SOAP evolvability
- 4. Salesforce SOAP vs REST
- 5. Richiesta SOAP a WebService con java
- 6. AFNetworking POST to REST webservice
- 7. SOAP/REST Webservices XML Distinzione maiuscole/minuscole
- 8. Ottieni report da jasperserver utilizzando REST webservice e asp.net C#
- 9. Quando SOAP ha più senso del REST?
- 10. Webservice o servizio Web?
- 11. WCF REST e SOAP Service senza WebServiceHostFactory
- 12. Perché REST non ha un WSDL diverso dal SOAP
- 13. Benchmarking/test delle prestazioni dell'API - REST/SOAP
- 14. Come posso trasferire i dati da un gestore SOAP a un client Webservice?
- 15. Chiamare un webservice da un server proxy
- 16. Come inviare dati JSON per REST Webservice in AngularJS
- 17. SOAP vs. REST: studi di casi pragmatici?
- 18. SOAP - Qual è il punto?
- 19. Quale è meglio PHP SOAP o NuSOAP?
- 20. Errore in Callin Java webservice da Android utilizzando k-Soap
- 21. Un messaggio SOAP 1.2 non è valido se inviato a un SOAP 1.1 solo endpoint
- 22. Migrazione dell'applicazione CORBA alle moderne tecnologie Java (Rest/SOAP/EJB)
- 23. Come distinguere se un dato oggetto di contesto è un contesto di attività o di servizio?
- 24. Invia file all'interno di JSONObject a REST WebService
- 25. Guida introduttiva all'API del servizio web REST REST
- 26. È possibile progettare una SOA con REST?
- 27. "Nessuna intestazione d'azione è stato trovato" messaggio di errore durante l'uso di SOAP webservice
- 28. guasti SOAP o oggetto risultati?
- 29. come creare un client soap?
- 30. Differenza tra REST e WebServices
Ho provato a visualizzare più informazioni con firefox firefox. Dopo aver rintracciato le richieste, vedo che la richiesta è stata inoltrata ad alcuni link: http://www.website.com/GetQuote.aspx?units=1&len=1&width=1&height=1&weight=1&type=1&qty=1&cnt=GB&postcode=as123 It sembra il webservice REST. – Centurion