225

iPhone 用のアプリを開発する予定で、そのアプリはいくつかの SOAP サービスにアクセスする必要があります。iPhone SDK でいくつかの基本的なチェックを行っている間、SOAP サービスへのアクセスのサポートを見つけることができませんでした。少しグーグルで検索した結果、iPhone SDK では SOAP がサポートされていないという結論に達しました。

したがって、そのアプリを作成したい場合は、iPhone から SOAP サービスにアクセスする方法を考え出す必要があります。最善のアプローチは何ですか?ベストプラクティスはありますか? SOAP サービスにアクセスするために iPhone SDK に存在する機能を使用して、誰かが既にライブラリを作成していますか?

(私がアクセスする必要があるサービスは別のパーティによって公開されており、彼らはそれを SOAP としてのみ公開しているため、残念ながら別のタイプのインターフェース (REST ベースの API など) に切り替えるオプションはありません)。

下呂

4

7 に答える 7

52

一言: しないでください。

明らかに、それは本当の答えではありません。それでも、SOAP は何としても避けるべきです。;-) iPhone と Web サービスの間にプロキシ サーバーを追加することは可能ですか? おそらく、REST を SOAP に変換するものでしょうか?

libxml2 (iPhone SDK に含まれています) に依存する SOAP ライブラリであるCSOAPを試すことができます。

OSX 用の独自のSOAP フレームワークを作成しました。ただし、積極的にメンテナンスされておらず、iPhone への移植には時間がかかるでしょう (最初に NSXML をTouchXMLに置き換える必要があります) 。

于 2008-10-15T16:17:19.757 に答える
8

私の解決策は、プロキシ サーバーに REST を受け入れさせ、SOAP 要求を発行し、PHP を使用して結果を返すことでした。

実装時間: 15 ~ 30 分。

最もエレガントではありませんが、しっかりしています。

于 2008-12-22T14:04:37.183 に答える
4

私はこれまで、Objective-C からの SOAP スタイルの要求を実行する必要性に対処するために、低レベル (XML の生成と解析) で独自のアクセスを展開してきました。そうは言っても、オープン ソース (BSD ライセンス) であり、Google Code ( mac- soapclient ) で利用できる SOAPClient ( soapclient ) という利用可能なライブラリがあり、これは興味深いかもしれません。

私はそれを使用したことがないか、API を操作する必要があったため、その機能や有効性を証明することはできませんが、利用可能であり、ニーズに応じて迅速な解決策を提供する可能性があります。

Apple には、かつて WS-MakeStubs と呼ばれる非常に壊れたユーティリティがありました。iPhone では利用できないと思いますが、それを置き換えることを目的としたオープンソース ライブラリにも興味があるかもしれません。コードは、SOAP クライアントとやり取りするための Objective-C を生成します。繰り返しますが、私はそれを使用していませんが、メモにマークを付けました: wsdl2objc

于 2008-10-15T18:14:36.587 に答える
2

私が見つけたツールを使用して接続できます http://www.wsdl2code.com

SampleServiceProxy *proxy = [[SampleServiceProxy alloc]initWithUrl:@"YOUR
        URL" AndDelegate:self];

[proxy GetDouble];
[proxy GetEnum];
[proxy getEnum:kTestEnumTestEnum2];
[proxy GetInt16];
[proxy GetInt32];
[proxy GetInt64];
[proxy GetString];
[proxy getListStrings];
于 2013-01-29T15:53:48.337 に答える
0

こちらのリンクとそのロードマップをご覧ください。途中で RO|C があり、おそらく SOAP を含む Web サービスに接続できます (私は間違いなく SOAP を含む VCL バージョンを使用しています)。

于 2008-10-15T12:34:40.470 に答える