次のように、c# で単純な WCF サービスを定義しました。
[ServiceContract]
public interface IAugeService
{
[OperationContract]
[WebGet]
List<Face> DetectedFaces();
}
WebHttpBinding でエンドポイントを作成でき、そのほとんどは問題なく動作します。しかし、生成された xml 応答のルート要素の名前は戻り値の型から派生しているため、次のような結果が得られます。
<ArrayOfFace>
<Face>
...
</Face
...
</ArrayOfFace
ルート ノードに別の名前を付ける必要があります。
メソッド宣言を次のように変更しようとしました。
...
[OperationContract]
[WebGet]
[return: MessageParameter(Name="result")]
List<Face> DetectedFaces();
...
...しかし、それは役に立ちませんでした:(