2012-01-03 4 views
1

この質問は非常によくわかっているようですが、SOAP Webサービスを使用した経験はあまりなく、これはiOSや特にOS Xではあまり一般的ではないことがわかりましたもう一度聞いてください。wsdl2objcなどのSOAPクライアントジェネレータはiOSとOS Xにとって本当に最適な選択ですか?

私はwsdl2objcとsudzobjcを試していますが、どちらのソリューションもかなり複雑なようです。特に、定義されているすべての型とポインターが使用されていると、オーバーヘッドが多いという感覚があります。

私は単純に、この例のように、標準のCocoaクラスNSURLConnectionとNSXMLParserを使用し、これを比較する場合:RESTful Webサービスを使用している場合、それはやり過ぎのように感じているよう

http://abhicodehelp.blogspot.com/2010/12/handling-soap-with-iphone.html

...

私は誰かが私にヒントを与えることに感謝します。このより完全なアプローチはなぜ優れていますか?また、少なくとも最初の見た目でははるかに軽く使いやすいように見える他のCまたはC++ライブラリを使用する方が良いでしょうか?

答えて

1

SOAPの問題は、本当に、本当に肥大しているということです!それはシンプルオブジェクトアクセスプロトコルと呼ばれていますが、シンプルではありません。これはXMLに基づいており、(間違っている)すべてがその複雑さをWSDLやXMLSchemesとそのすべてのもので使います。私はJavaの時代にSOAPの開発を始めました。 XMLメッセージのサイズのために、OutOfMemoryExceptionsが2回以上ありました。

しかし、Objective-CでSOAPサービスを呼び出すことは、Javaや他の言語と同じくらい複雑になります。問題は、サービスを呼び出すために複雑なXML構造を作成する必要があることです。私はwsdl2javaを知っていましたが、それはちょっと助けましたが、それはクラスと抽象との全体の束を作りました。

SOAPで使用されているWSDLとすべてのXMLSchemaの背後にあるアイデアを理解しています。それはサービスを作成することであり、他の人が問題なく呼び出せるように仕様です。しかし、私はそれがそれを行う方法だとは思わない。

あなたが選択した場合は、RESTを取る! RESTは本当にシンプルなので、実際の「シンプルオブジェクトアクセスプロトコル」です。また、XMLをメッセージフォーマットとして使用することもできますが、そうしたくない場合もあります。 JSONを使用したRESTが道のりです。 REST、IMHOを理解するにはHTTPだけを理解する必要があります。

+0

私はSOAPサービスを利用していますが、選択肢はありません): "昔"ではソケットと今日は主に素敵なCライブラリを使ってRESTfulなサービスを使っていましたJSONとXMLの解析のために、それは完全に動作します。しかし、今度は私の選択ではありません。サーバーの機能を公開するのは.Netで行われているので、これはかなり簡単です。 – mbpro

+0

Ugh!私はそれのために申し訳ありません!私はそれをする必要はなかったので私は幸運だから私は助けることができない。 –

関連する問題