Je prévois de développer une application pour l'iPhone et cette application devrait accéder à quelques services SOAP. En faisant quelques vérifications de base dans le SDK iPhone, je n'ai pas pu trouver de support pour accéder aux services SOAP, un peu de recherche sur Google a permis de conclure qu'il n'y a pas de support pour SOAP dans le SDK iPhone.
Donc, si je veux créer cette application, je devrai proposer une approche pour accéder aux services SOAP à partir de l'iPhone. Quelle serait la meilleure approche? Des bonnes pratiques? Quelqu'un a-t-il déjà écrit une bibliothèque à l'aide des fonctionnalités présentes dans le SDK iPhone pour accéder aux services SOAP?
(Étant donné que le service auquel j'ai besoin d'accéder est exposé par une autre partie et qu'ils l'exposent uniquement en tant que SOAP, ce n'est malheureusement pas une option pour passer à un autre type d'interface (par exemple, une API basée sur REST).
Gero
Réponses:
Un mot: non.
OK, évidemment, ce n'est pas une vraie réponse. Mais le savon doit toujours être évité à tout prix. ;-) Est-il possible d'ajouter un serveur proxy entre l'iPhone et le service Web? Peut-être quelque chose qui convertit REST en SOAP pour vous?
Vous pouvez essayer CSOAP , une bibliothèque SOAP qui dépend de libxml2 (qui est incluse dans le SDK iPhone).
J'ai écrit mon propre framework SOAP pour OSX. Cependant, il n'est pas activement maintenu et nécessitera un certain temps pour être porté sur l'iPhone (vous devrez remplacer NSXML par TouchXML pour commencer)
la source
Ma solution était d'avoir un serveur proxy accepter REST, émettre la requête SOAP et retourner le résultat, en utilisant PHP.
Temps de mise en œuvre: 15-30 minutes.
Pas le plus élégant, mais solide.
la source
Historiquement, j'ai roulé mon propre accès à un bas niveau (génération et analyse XML) pour faire face au besoin occasionnel de faire des requêtes de style SOAP à partir d'Objective-C. Cela dit, il existe une bibliothèque appelée SOAPClient ( soapclient ) qui est open source (licence BSD) et disponible sur Google Code ( mac-soapclient ) qui pourrait être intéressante.
Je n'attesterai pas de ses capacités ou de son efficacité, car je ne l'ai jamais utilisé ou j'ai dû travailler avec ses API, mais il est disponible et pourrait vous fournir une solution rapide en fonction de vos besoins.
Apple avait, à un moment donné, un utilitaire très cassé appelé WS-MakeStubs. Je ne pense pas qu'il soit disponible sur l'iPhone, mais vous pourriez également être intéressé par une bibliothèque open source destinée à remplacer cela - du code génère Objective-C pour interagir avec un client SOAP. Encore une fois, je ne l'ai pas utilisé - mais je l'ai noté dans mes notes: wsdl2objc
la source
Vous pouvez vous connecter en utilisant un outil que j'ai trouvé http://www.wsdl2code.com
la source
Voici un exemple de code swift 4 qui exécute des appels d'API à l'aide du format de service SOAP.
la source
Jetez un œil ici à ce lien et à leur feuille de route. Ils ont RO | C sur le chemin, et qui peuvent se connecter à leurs services Web, qui incluent probablement SOAP (j'utilise la version VCL qui l'inclut définitivement).
la source
Jetez un œil à gsoap qui comprend deux exemples iOS dans le package de téléchargement sous ios_plugin. L'outil convertit WSDL en code pour SOAP et XML REST.
la source