3

「RPCスタイルのWebサービス」と「ドキュメントスタイルのWebサービス」があるというWebサービスに関する本を読んだばかりです。2つ目は、WSDLシーケンスとcomplexTypeでの使用です。このスタイルはいつ使用する必要がありますか?

4

3 に答える 3

3

連絡先、メッセージ、または特定のプログラミング オブジェクトなどのデータ オブジェクトを、それぞれのテクノロジのクライアント アプリにそのまま転送する場合は、複合データ型を使用する必要があります。

たとえば、.NET または Java で構築された複合型 Web サービスを使用していて、その Web サービスを PHP または Ruby から呼び出している場合、.NET または Java からオブジェクトがそのままエクスポートされます (98% の場合、非常にマイナーな言語固有の場合)。属性が変更された) PHP または Ruby で。

したがって、単純な文字列、int、bool、または配列データ型が気に入らない場合は、WSDL で複合型を使用できます。始めるのは簡単ではありませんが、やり始めるととても楽しいです。

Web サービスの開発に PHP を使用している場合は、Zend Framework の WSDL の自動検出により、PHP から WSDL を自動的に生成できます。

于 2012-04-23T18:55:48.133 に答える
2

WebサービスのcomplexTypeは、転送するオブジェクト(Javaのデフォルトタイプではない)などのユーザー定義のデータ型を表すために使用されます。たとえば、名前、住所、電話番号などを含むUserVOがある場合は、これをComplexTypeとして定義する必要があります。送信するWSDL。Javaコレクション/配列も複合型として扱われます。これは、Websericeのタイプ複合タイプの例に関する優れたチュートリアルです。

于 2012-04-23T18:35:12.023 に答える
2

基本的に、SOAP Webサービスをまだ使用している(つまり、RESTに移行していない)ほぼすべての人が「ドキュメントスタイル」を使用しています。

WSDLを手動でコーディングしない限り、この区別はほとんど意味がありません。そして、それは誰ですか;)?

Visual StudioやAxisなどのツールを使用してWSDLを生成し、ツールを使用してスタブを生成する場合、本当に重要なのは、一方のツールで生成されたコードがもう一方のツールで生成されたコードを理解するかどうかだけです。これは、「SOAPに関する限り、それはほとんどドキュメントスタイルの世界です」につながります。または、より具体的には、「ドキュメントスタイル/文字でラップされた」世界。

ここにいくつかの良いリンクがあります:

于 2012-04-23T18:36:04.330 に答える