このページ は以下の例をリストします:
しかし、どのような変更が下位互換性があると見なされるかについての定義または標準ガイドラインがあります。または、言い換えると、契約にどのような変更を加えても、クライアントを壊さないことを期待できます。
私はこの特定のテーマにしばらく時間を費やし、下部にあるThomas Erlの本にいくつかのガイドラインを見つけました。ここに彼らが言わなければならないことがあります。
互換性のある変更
互換性のない変更
この特定の主題については、Thomas Erlらのすばらしい本があります。その名前はSOAのWebサービスコントラクトの設計とバージョン管理です。
HTH。
免責事項:私が述べたように、これは本の著者によって行われた仕事であり、私は単にそれを共有しています。とにかく私は提携していません。ちょうど本が好きだった:)
追加のオプションのリクエスト要素(minoccurs = 0)も下位互換性がある可能性があります-これはホスト側のサービスの実装に依存します。また、必須の応答要素をオプションのcouldに変更することも下位互換性があります。これはクライアントの実装によって異なります。
このエリアはトリッキーです。
後方互換性が本当に心配な場合は、新しいクライアント用にサービスの新しいバージョンを作成し、既存のクライアントの既存の実装を維持することを検討してください。また、一般に、サービスを介してドメインオブジェクトを送信することは避け、DTOを使用してください。
お役に立てれば。