Come posso colbind iPhone e servizi Web e ottenere dati XML?

So come connettermi al web server usando un iPhone, ma ora devo connettere l’iPhone a un servizio web. Non so come farlo e non ci sono demo o classi disponibili online.

Qualcuno ha qualche idea?

Potresti trovare utile questo tutorial, chiamato Introduzione ai servizi Web SOAP . Mostra come confezionare una richiesta, inviarla a un servizio web e leggere la risposta.

Se hai bisogno di aiuto con l’analisi XML, c’è la libreria TouchXML che ti darà un bel “documento” xml con cui lavorare. Basta fare attenzione all’utilizzo della memoria.

Se devi analizzare un messaggio XML di grandi dimensioni questo tutorial su libxml e xmlreader in Cocoa ti mostrerà come analizzare XML con i parser di stile evento di livello inferiore.

Ho creato un’applicazione open source per iPhone OS 3.0 che mostra come utilizzare i servizi REST e SOAP nell’applicazione iPhone, usando XML (usando 8 diverse librerie iPhone), SOAP, JSON (usando SBJSON e TouchJSON), YAML, Protocol Buffers ( Formato di serializzazione di Google) e persino CSV da un’app campione PHP (inclusa nel progetto).

http://github.com/akosma/iPhoneWebServicesClient

Il progetto è abbastanza modulare per supportare molti altri formati e librerie in futuro.

La seguente presentazione in SlideShare mostra le mie conclusioni in termini di prestazioni, facilità di implementazione e caratteristiche del carico utile:

http://www.slideshare.net/akosma/web-services-3439269

È ansible utilizzare queste 2 righe che restituiscono la risposta della richiesta HTTP. Non hai bisogno di alcuna configurazione. Questo codice è utile se si tenta di accedere ad uno scritp PHP, ad esempio. Dopo devi solo analizzare il tuo risultato.

NSURL *URL=[[NSURL alloc] initWithString:stringForURL]; NSString *results = [[NSString alloc] initWithContentsOfURL :URL]; 

Secondo me, hai due opzioni:

  • Utilizzare una libreria di terze parti. Puoi provare wsdl2objc . Non ha funzionato per me, ma è in fase di sviluppo attivo, quindi migliora ogni giorno.
  • Utilizzare una connessione HTTP non elaborata e gestire ogni richiesta / risposta. Questo è il modo in cui ho seguito. È difficile, quindi mi piacerebbe anche conoscere un approccio migliore.

Puoi provare questo ho creato alcune classi che puoi includere nel tuo progetto e poi seguire gli esempi, puoi anche scaricare un set di dati .net e interrogarlo se stai usando .net come fornitore di servizi web. http://grabalife.com/2009/10/19/using-net-web-services-and-dataset-objects-in-your-iphone-app/

Probabilmente sei andato con una delle soluzioni sopra, ma questa app di esempio di Apple è fantastica. Dimostra come utilizzare NSXMLParser per analizzare i dati XML su un feed RSS. Esempio di SiesmicXML

C’è anche un buon esempio su devx che puoi connettere tramite http post e / o get

Puoi trovare un buon esempio qui

Come utilizzare Webservice in Iphone

Che ti aiuti