0

WP7 アプリを提供する WCF SOAP サービスが多数あります。現在、これらの WP7 アプリの Android バージョンを作成していますが、Android には SOAP サポートが実質的に存在しないため、これらの Android アプリには REST を使用する必要があります。

したがって、私の計画は、ASP.NET Web API で WCF SOAP サービスを複製することです。RESTful サービスは初めてです。

詳細に入る今、私は SOAP をもう少し高く評価していると思います。

たとえば、私の SOAP メソッドの 1 つは、他の引数の中でも "TripLocker_s" オブジェクトを取ります。(SOAP 定義を下に貼り付けます)。ご覧のとおり、TripLocker_s オブジェクトは配列 TripLegModel_s オブジェクトです。私のさまざまなサービス メソッドは、あらゆる種類の複雑なオブジェクトを引数として渡します。

HTTP サービスの使用に関係する Android のチュートリアルを確認すると、文字列ほど複雑なものはなく、おそらく整数が引数として議論されることはありません。複雑なオブジェクトの受け渡しに関する情報が見つかりません。

Web API で複雑なオブジェクトを引数として渡すにはどうすればよいですか? たとえば、TripLocker_s オブジェクトを取得し、それを http parms としてシリアル化する方法はありますか?

ありがとう、ゲイリー

    [DataContract]
public class TripLegModel_s
{
    [DataMember]
    public string ourDirection;  //SE, SW, SSW, etc.
    [DataMember]
    public double longitude;
    [DataMember]
    public double latitude;
    [DataMember]
    public double altitude;
    [DataMember]
    public DateTimeOffset TimeStamp;
    [DataMember]
    public double speed;
}

[DataContract]
public class TripLocker_s
{
    [DataMember]
    public ObservableCollection<TripLegModel_s> BreadCrums = new ObservableCollection<TripLegModel_s>();

ありがとう、

4

3 に答える 3

2

RESTful (http) 動詞 (get、post、put など) を介して RESTful API で複雑なオブジェクトを JSON または XML として渡すことができない理由はありません。JSON はより Web (javascript) フレンドリーであり、RESTful/ハイパーメディア API は通常、Web アプリに選択されます。非常に Web に適しているため、モバイル Android で使用するために API を選択すると、Web、iOS、win phone などでも API を使用できます。Javascript (したがって JSON) は、Web で選択される言語になりつつあります。

作成している場合は、シリアル化されたオブジェクトを本文に投稿します。
完全な例については、この投稿を参照してください: ネストされたモデルの restful-like CRUD 操作の URL パターン

WCF を使用している場合は、webapi を検討してください。http: //www.asp.net/web-api を参照してください。

具体的には、チェックアウト: http://www.asp.net/web-api/overview/creating-web-apis/creating-a-web-api-that-supports-crud-operations

たとえば、webapi CRUD サンプルでは、​​製品オブジェクトで動作します。

namespace ProductStore.Models
{
    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Category { get; set; }
        public decimal Price { get; set; }
    }
}

最後に、RESTful な考え方 (RPC や SOAP ではなく) に関するこの記事をチェックしてください http://blog.steveklabnik.com/posts/2011-07-03-nobody-understands-rest-or-http

于 2012-09-20T23:26:56.683 に答える
1

RE: 「私の計画は、WCF SOAP サービスを ASP.NET Web API で複製することです。」

提案:考えないでください! その必要はありません... REST ベースの Web サービスを問題なく作成できるはずです。それが世界の方向性です...そしてマイクロソフトもそれに沿って進んでいます。それは問題ではありません。

そして、「すべてがオブジェクトでなければならない」にとらわれないでください。それはありません。特に、単純な JSON メッセージでも問題なく機能するのに、Android アプリを (ほぼ間違いなく不要な) GSON ライブラリで行き詰まらせる必要はありません。

また、現在「Java Guy」でない場合は、PhoneGap のような高レベルのフレームワークで Android をコーディングすることを検討することをお勧めします。

ただの提案です!

于 2012-09-21T00:54:34.410 に答える
0

1)使いたいのに SOAP を使えないのはなぜですか? 具体的にどのような問題がありますか?

2) 代わりに REST を使用できるのに、なぜSOAP を使用し たいと思うのでしょうか?

3) JSONに精通していますか?

あなたの Android は Web サービス クライアントですよね?Web サービス自体は何/どこにあり、SOAP、JSON、または「その他」を使用していますか?

REST に関するこの有益なチュートリアルを確認してください。

これらの他のリンクが役立つ場合があります。

于 2012-09-20T23:20:40.723 に答える