J'ai fait beaucoup de travail avec les services Web de base dernièrement. Bien honnêtement, je déteste critiquer Apple, je dois dire qu'ils ont vraiment laissé tomber la balle avec des services Web de leur soutien. Les services Web SOAP ont progressé un peu, mais Core Services Web semble être gelés à environ 2003 fonctionnalités, et WSMakeStubs est encore pire.
Le premier problème, et plus je suis frappé mineures récemment, est que WSMakeStubs ne fournit pas un mécanisme simple pour soutenir l'authentification HTTP. Ce n'est pas trop grand d'une affaire car il peut être travaillé autour avec quelques modifications au code généré. Web Core Services fournit un moyen de soutenir cela, mais ce n'est pas nécessairement quelque chose qui serait évidente pour quelqu'un de nouveau à la plateforme.
Le show-bouchon, cependant, pour de nombreux services Web est qu'il n'ya absolument aucun mécanisme permettant de spécifier les attributs d'un attribut XML qui est passé à l'intérieur de votre enveloppe SOAP. Donc, si un service web nécessite quelques éléments d'information à transmettre en utilisant un attribut, vous êtes assez bien vissé.
Il ya une façon de rendre les services Web de base ce faire, mais c'est un tel hack, que vous seriez probablement mieux rouler vos bibliothèques propre client. Elle implique l'écriture de votre propre sérialiseur et dominante de la sérialisation XML pour les CFTypes que vous utilisez. Il s'agit d'un hack laid, difficile à appliquer et encore plus difficile à expliquer. Ce n'est pas le type de code que vous souhaitez conserver si vous êtes susceptible d'avoir beaucoup de roulement de votre personnel de développement.
J'ai ouvert un rapport de bug à Apple, mais je ne suis pas trop optimiste qu'ils vont corriger cela, pour être honnête. Ils ne semblent pas trop préoccupés par les services Web SOAP pour le moment.
Cela pourrait être un gros problème si vous êtes un développeur iPhone, cependant. Vous voyez, Apple semble être essayer de la position de l'iPhone dans l'entreprise en ajoutant le support change, et beaucoup de développeurs iPhone nouvelle que j'ai rencontrés proviennent d'un milieu de travail dans l'entreprise IT magasins. Beaucoup de services Web utilisés à l'intérieur de l'entreprise des entreprises sont écrites en utilisant les outils Microsoft qui soutiennent (et même encourager) en utilisant des attributs dans les balises XML dans les méthodes de SOAP. En fait, un parfait exemple de cela est le WSDL Exchange lui-même. Il a fallu des attributs dans au moins une étiquette sur chaque méthode unique exposée. Cela signifie que vous ne peut actuellement pas écrire un client de cacao, même pour une seule méthode exposée à partir du WSDL Exchange à l'aide WSMakeStubs ou nappes Core Services. Vous pouvez écrire un, bien sûr, mais il va y avoir beaucoup de travail.
Je suis honnêtement préoccupés par l'impression que cela va laisser les gens venir à l'iPhone à partir de. Net, qui a très robuste Web Services des bibliothèques. Beaucoup de développeurs Cocoa nouvelles à qui j'ai parlé dernièrement, ont l'expérience avec. Net. Bien sûr, les développeurs Cocoa longue date essaient de convaincre ces nouveaux venus comment le cacao est merveilleuse, mais des choses comme ce genre d'obtenir de la manière de prouver ce point.
Aucun commentaire:
Enregistrer un commentaire