2008-11-18 4 views
3

Je vais utiliser gSOAP pour interagir avec un webservice WCF dans mon projet Mac. Il fait à peu près exactement ce dont j'ai besoin et il le fait bien (à peu près le contraire de WSMakeStubs;)). Le seul inconvénient est que c'est C/C++ seulement, ce qui signifie que je dois soit convertir tous mes types en C types à la volée ou écrire une solution complète d'emballage pour le faire pour moi.Existe-t-il un wrapper Objective-C pour gSOAP?

Je préfère ne pas réinventer la roue ici, et je suis obviously pas le onlyone qui a voulu faire cela, mais jusqu'à présent, je ne l'ai pas été en mesure de trouver quelqu'un qui a effectivement posté de code pour ce effet.

Quelqu'un connaît-il un code disponible qui me permettrait d'éviter d'avoir à écrire le tout moi-même?

Répondre

1

Je dirais que la réponse actuelle est "Non". J'ai fini par créer un wrapper Objective-C principalement à la main pour mon service web (y compris les méthodes de catégorie pour NSArray pour traduire un NSArray de X dans un tableau de savon de X et vice versa, etc.) car c'était un et je ne m'attendais pas à ce qu'il change particulièrement souvent. Je suis content, mais j'ai besoin de le modifier à la main chaque fois qu'une signature est modifiée ou qu'une méthode est ajoutée.

2

(Il ne répond pas tout à fait à votre question, mais) J'ai utilisé les techniques utilisées dans Cocoa SOAP Client (open source) pour me connecter à un serveur et envoyer/recevoir des requêtes SOAP. Cela fonctionne très bien, sauf si vous vous connectez à un serveur avec un certificat SSL auto-signé. (Ceci traduit fondamentalement les structures XML dans les structures Cocoa natives, et vice-versa lors de l'envoi).

Nous utilisons gSOAP au travail, et il fait le travail, mais fait beaucoup de code généré, et vous limite à travailler de manière particulière avec les données.

+0

Désolé pour la question nob. Est-ce que "SOAP Client" peut être utilisé dans un projet iPhone? J'ai du mal à trouver la meilleure façon de consommer des services Web. – JWD

+0

Je suggère que vous envisagiez de poser cette question comme une question autonome. –

2

Je travaille sur un générateur de wrapper (ou peut-être des modifications de gSOAP lui-même pour contribuer); Je n'ai pas fini et je ne serai pas pour un petit moment.

Remarque: Je suis l'un des gens avec lesquels vous avez établi un lien.

+0

Très heureux de l'entendre! Si vous pensez à poster ici lorsque vous êtes prêt à le partager, j'aimerais savoir qu'il était disponible pour l'expérimentation. –