Web Services Addressing アプリケーション・プログラミング・モデル
Web Services Addressing (WS-Addressing) 仕様は、EndpointReferenceType オブジェクトにより Extensible Markup Language (XML) で表されるエンドポイント参照を定義します。これは、エンドポイント・アドレスに関する情報のみならず、エンドポイントに関連付けられたその他の前後関係もカプセル化します。 サービスの中には、各種 Web サービスで最も一般的である、単純な URI アドレスを使用してアドレッシングできるものがあります。また、アドレッシングのためにエンドポイント参照が必要であり、エンドポイントと関連付けられた追加の前後関係が、エンドポイントに送信されるメッセージ内にあるサービスもあります。
WS-Addressing エンドポイント参照を使用するサービスの例には、 Web Services Resource および Web サービス通知のメッセージ・プロデューサーおよびメッセージ・コンシューマーがあり、これらはみなそれぞれのエンドポイントと関連付けられたステートフル・リソースの概念を持っています。 これらのケースでは、エンドポイント参照はサービス・アドレスを含むだけではなく、Web サービス・メッセージの処理で使用する特定のステートフル・リソース・インスタンスを選択するために使用するデータも含んでいます。
WS-Resource は、リソースと、そのリソースにアクセスするための Web サービスの組み合わせとして定義されます。下の図は、http://www.example.com/service にある Web サービスと、この Web サービスを通してアクセスする 3 つのリソース、A、B、および C を示します。この図には 3 つの WS-Resources が説明されています。

WS-Resource は、WS-Resource を一意的に識別する WS-Addressing エンド
ポイント参照により参照されます。通常は、EndpointReference
ReferenceParameter エレメント内の WS-Resource のリソース・コンポーネントの ID を含めることにより、識別が行われます。
上の例では、WS-Resource-C が Web サービスおよび C で識別されるリソースの組み合わせであり、WS-Resource-C への参照は次のように表示されます。
<wsa:EndpointReference>
<wsa:Address>
http://www.example.com/service
</wsa:Address>
<wsa:ReferenceParameters>
<tns:SomeDisambiguatorElement>C</tns:SomeDisambiguatorElement>
</wsa:ReferenceParameters>
...
</wsa:EndpointReference>
WS-Addressing API は前述のパターンを実装するための適切なインターフェースを提供します。