225 votes

Comment accéder aux services SOAP de l’iPhone

J'ai l'intention de développer une application pour l'iPhone et l'application aurait pour accéder à un couple de SAVON services. Tout en faisant un peu de base de la vérification dans le SDK de l'iPhone, je n'étais pas capable de trouver un soutien pour l'accès aux services SOAP, un peu de Googling conduire à la conclusion qu'il n'y a pas de support pour SAVON dans le SDK de l'iPhone.

Donc, si je ne veux construire cette application je vais avoir besoin de trouver une approche pour accéder à des services SOAP à partir de l'iPhone. Quelle serait la meilleure approche? Toutes les meilleures pratiques? Quelqu'un s'est déjà écrire une bibliothèque à l'aide de la fonctionnalité qui est présent dans le SDK de l'iPhone pour accéder à des services SOAP?

(Depuis le service, j'ai besoin d'accès est exposée par l'autre partie et ils ne l'exposer comme du SAVON, ce n'est malheureusement pas une option pour passer à un autre type d'interface (API REST).

Gero

52voto

schwa Points 9102

Un seul mot: Ne pas.

OK, évidemment, ce n'est pas une vraie réponse. Mais tout de SAVON doit être évité à tous les frais. ;-) Est-il possible d'ajouter un serveur proxy entre l'iPhone et le web service? Peut-être quelque chose qui convertit RESTE en SAVON pour vous?

Vous pourriez essayer CSOAP, un SAVON de la bibliothèque qui dépend de la libxml2 (qui est inclus dans le SDK de l'iPhone).

J'ai écrit mon propre SAVON cadre pour OSX. Cependant, il n'est pas activement maintenu et nécessite un certain temps de port de l'iPhone (vous aurez besoin de le remplacer NSXML avec TouchXML pour commencer)

7voto

davidjhinson Points 538

Ma solution a été d’avoir un serveur proxy accepter reste, émettre la demande SOAP et retourner le résultat, à l’aide de PHP.

Le temps de mettre en œuvre : 15-30 minutes.

Pas plus élégant, mais solide.

4voto

heckj Points 3088

J'ai historiquement roulé ma propre accès à un niveau bas (XML génération et d'analyse) pour faire face au besoin, de temps à faire du SAVON style de demandes d'Objective-C. cela dit, il y a une librairie appelée SOAPClient (soapclient) qui est open source (sous licence BSD) et disponible sur Google Code (mac-soapclient) qui pourrait être d'intérêt.

Je ne vais pas attester de ses capacités ou de l'efficacité, comme je n'ai jamais utilisé ou ont eu à travailler avec l'API, mais il est disponible et pourrait fournir une solution rapide pour vous en fonction de vos besoins.

Apple avait à un moment, un très rompu utilitaire appelé WS-MakeStubs. Je ne pense pas que c'est disponible sur l'iPhone, mais vous pourriez également être intéressé dans un open-source de la bibliothèque destinés à remplacer ceux - code générer out Objective-C pour l'interaction avec un client SOAP. Encore une fois, je ne l'ai pas utilisé, mais je l'ai marqué dans mes notes: wsdl2objc

2voto

Bennya Points 271

Vous pouvez vous connecter à l’aide d’un outil que j’ai trouvé http://www.wsdl2code.com

1voto

RomanP Points 369

Vous pouvez utiliser

http://easywsdl.com

pour générer des classes pour vous connecter à votre service web.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X