「RPCスタイルのWebサービス」と「ドキュメントスタイルのWebサービス」があるというWebサービスに関する本を読んだばかりです。2つ目は、WSDLシーケンスとcomplexTypeでの使用です。このスタイルはいつ使用する必要がありますか?
3 に答える
連絡先、メッセージ、または特定のプログラミング オブジェクトなどのデータ オブジェクトを、それぞれのテクノロジのクライアント アプリにそのまま転送する場合は、複合データ型を使用する必要があります。
たとえば、.NET または Java で構築された複合型 Web サービスを使用していて、その Web サービスを PHP または Ruby から呼び出している場合、.NET または Java からオブジェクトがそのままエクスポートされます (98% の場合、非常にマイナーな言語固有の場合)。属性が変更された) PHP または Ruby で。
したがって、単純な文字列、int、bool、または配列データ型が気に入らない場合は、WSDL で複合型を使用できます。始めるのは簡単ではありませんが、やり始めるととても楽しいです。
Web サービスの開発に PHP を使用している場合は、Zend Framework の WSDL の自動検出により、PHP から WSDL を自動的に生成できます。
WebサービスのcomplexTypeは、転送するオブジェクト(Javaのデフォルトタイプではない)などのユーザー定義のデータ型を表すために使用されます。たとえば、名前、住所、電話番号などを含むUserVOがある場合は、これをComplexTypeとして定義する必要があります。送信するWSDL。Javaコレクション/配列も複合型として扱われます。これは、Websericeのタイプと複合タイプの例に関する優れたチュートリアルです。
基本的に、SOAP Webサービスをまだ使用している(つまり、RESTに移行していない)ほぼすべての人が「ドキュメントスタイル」を使用しています。
WSDLを手動でコーディングしない限り、この区別はほとんど意味がありません。そして、それは誰ですか;)?
Visual StudioやAxisなどのツールを使用してWSDLを生成し、ツールを使用してスタブを生成する場合、本当に重要なのは、一方のツールで生成されたコードがもう一方のツールで生成されたコードを理解するかどうかだけです。これは、「SOAPに関する限り、それはほとんどドキュメントスタイルの世界です」につながります。または、より具体的には、「ドキュメントスタイル/文字でラップされた」世界。
ここにいくつかの良いリンクがあります: