web-dev-qa-db-fra.com

Comment puis-je connecter l'iPhone et le service Web et obtenir des données XML?

Je sais comment me connecter au serveur Web à l'aide d'un iPhone, mais maintenant je dois connecter l'iPhone à un service Web. Je ne sais pas comment faire et il n'y a pas de démonstration ou de cours disponible en ligne.

Quelqu'un a-t-il une idée?

27
vavdiya haresh

Vous pourriez trouver ce tutoriel, appelé Intro to SOAP Web Services utile. Il montre comment emballer une demande, l'envoyer à un service Web et lire la réponse.

Si vous avez besoin d'aide avec l'analyse XML, il y a la bibliothèque TouchXML qui vous donnera un "document" XML agréable à utiliser. Faites juste attention à l'utilisation de la mémoire.

Si vous devez analyser un gros message XML, ce tutoriel sur libxml et xmlreader dans Cocoa vous montrera comment analyser XML avec les analyseurs de style événementiel de niveau inférieur.

20
amrox

J'ai créé une application open source pour iPhone OS 3.0 qui montre comment utiliser REST & SOAP services dans l'application iPhone, en utilisant XML (en utilisant 8 iPhone différents) bibliothèques), SOAP, JSON (en utilisant SBJSON et TouchJSON), YAML, les tampons de protocole (format de sérialisation Google) et même CSV à partir d'un PHP PHP (inclus dans le projet)).

http://github.com/akosma/iPhoneWebServicesClient

Le projet est suffisamment modulaire pour prendre en charge de nombreux autres formats et bibliothèques à l'avenir.

La présentation suivante dans SlideShare montre mes résultats en termes de performances, de facilité de mise en œuvre et de caractéristiques de charge utile:

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

16

Vous pouvez utiliser ces 2 lignes qui renvoient la réponse de votre requête HTTP. Vous n'avez besoin d'aucune configuration. Ce code est utile si vous essayez d'accéder à un PHP scritp par exemple. Après il vous suffit d'analyser votre résultat.

NSURL *URL=[[NSURL alloc] initWithString:stringForURL];
NSString *results = [[NSString alloc] initWithContentsOfURL :URL];
12
Geraud.ch

À mon avis, vous avez deux options:

  • Utilisez une bibliothèque tierce. Vous pouvez essayer wsdl2objc . Cela n'a pas fonctionné pour moi, mais il est en développement actif, il s'améliore donc tous les jours.
  • Utilisez une connexion HTTP brute et gérez chaque demande/réponse. C'est ainsi que j'ai suivi. C'est difficile, donc j'aimerais aussi connaître une meilleure approche.
3
Guido

Vous pouvez essayer ceci J'ai inventé quelques classes que vous pouvez simplement inclure dans votre projet, puis suivre les exemples, vous pouvez même télécharger un jeu de données .net et l'interroger si vous utilisez .net comme fournisseur de services Web. http://grabalife.com/2009/10/19/using-net-web-services-and-dataset-objects-in-your-iphone-app/

3
Kris

Vous êtes probablement allé avec l'une des solutions ci-dessus, mais cet exemple d'application de Apple est génial. Il montre comment utiliser NSXMLParser pour analyser les données XML sur un flux RSS. Exemple SiesmicXML

2
Abel

Il y a aussi un bon exemple sur devx que vous pouvez connecter via http post et/ou obtenir

1
Ozkan Altuner

Vous pouvez trouver un bon exemple ici

Comment consommer le webservice dans Iphone

Que cela vous aide

1
Soniya