私は次の問題があります。顧客は、次の形式でデータを返すWebサービス要求:カスタムdatacontract/datamemberの名前
<status>
<name1>Some name</name1>
...
</status>
しかしをエラーでは、次のメッセージを取得したいが発生した場合:私は、WCFと順番にを使用してWebサービスを作成し
<status>
<error>Error description</error>
</status>
要件を満たすために、私は、次のサービス契約に定義:
[ServiceContract]
public interface IPatronStatus
{
[OperationContract]
[ServiceKnownType("GetKnownTypes", typeof(KnownTypesProvider))]
[WebGet(UriTemplate = "/service/status?user={unilogin}")]
StatusData GetPatronStatus(string unilogin);
}
をし、また、以下の基本クラスを定義した:
[DataContract(Name="status")]
public class StatusData
{
}
そして2つのderrivedクラス:
public class PatronStatusData : StatusData
{
private string _name;
[DataMember(Name = "name1", Order = 0)]
public string Name
{
get { return _name; }
set { _name = value; }
}
...
}
そして:問題は、私は、Webサービスのデータコントラクト名( "状態")からデータを取得するときということです
public class UniLoginNotFoundError : StatusData
{
public UniLoginNotFoundError()
{ }
private string _description = "UniLoginNotFoundError";
[DataMember(Name = "error", Order = 0)]
public string Description
{
get
{
return _description;
}
}
}
とデータメンバの名前は無視され、型とプロパティの名前が使用されます。
カストム名を使用することはできますか?
質問を編集して、XMLの外観を正確に表示してください。 –