以下の REST サービスを取得しました。フィドラーからテストする必要があり、多くの検索を行ったところ、ペイロードが以下のように構造化されていることがわかりました。
<Update xmlns="http://tempuri.org/">
<value></value>
</Update>
「値」は、XElement
またはそれ以外にはIEnumerable<XElement>
なりません。
上記の XML は問題ありません (つまり、空の純粋なオブジェクト インスタンスが渡されてブレーク ポイントにヒットします) が、ノード内に「何か」を配置すると、ブレーク ポイントにヒットせずに 400 Bad Request が返されます。
public interface ISomeInterface
{
[WebInvoke(Method = "PUT", UriTemplate = "/{key}", BodyStyle = WebMessageBodyStyle.WrappedRequest)]
void Update(string key, object value);
[WebInvoke(Method = "DELETE", UriTemplate = "/{key}")]
void Delete(string key);
}
public void Update(string key, object value)
{
this.UpdateSomething(key, value, true);
}
問題は、適切な xml を作成して Fiddler を使用してサービスに渡す方法です。