ADO.NET Data Service Provider Toolkitを使用して、SharePoint 2010内で実行されるカスタムODataサービスエンドポイントを実装しています(.NET 3.5を使用)。
サイトコレクションのルートでサービスにアクセスすると、返されるベースアドレスは正しいです。
http://localhost/_vti_bin/service.svc/ returns a base address (in the returned atom document) as <feed xml:base="http://localhost/_vti_bin/service.svc />
ただし、サブサイトでサービスエンドポイントにアクセスすると、追加のパスセグメントは無視されます。
http://localhost/subsite/_vti_bin/service.svc/ returns a base address (in the returned atom document) as <feed xml:base="http://localhost/_vti_bin/service.svc />
残念ながら、この誤った動作はPowerPivot(後続のクエリにアクセスするために返されたベースアドレスを使用しているように見えます)を混乱させます。
プロバイダーコード内から明示的にxml:base属性を作成する方法はありますか?