Я пытаюсь использовать тестовый клиент WCF для тестирования созданной мной службы WCF.
Сервис имеет один метод «SubmitRequest».
[OperationContract]
Response SubmitRequest(Request request);
Когда я загружаю тестовый клиент WCF, метод отображается серым цветом с сообщением «Эта операция не поддерживается в тестовом клиенте WCF, поскольку он использует тип WcfLibrary.Objects.Request
Ниже приведено определение типа, кто-нибудь видит что-то не так?
[DataContract]
public class Request
{
[DataMember]
public string LoanNumber { get; set; }
[DataMember]
public string ClientCode { get; set; }
[DataMember]
public Region Region { get; set; }
[DataMember]
public RequestType RequestType { get; set; }
[DataMember]
public List<RequestParameter> RequestParameters { get; set; }
[DataMember]
public List<MspWebCallType> MspWebCallsForXmlRequest { get; set; }
[DataMember]
public Hashtable XmlRequestParameters { get; set; }
public Request(string loanNumber, string clientCode, Region region, RequestType requestType, List<RequestParameter> requestParameters)
{
LoanNumber = loanNumber;
ClientCode = clientCode;
Region = region;
RequestType = requestType;
RequestParameters = requestParameters;
}
}
[DataContract]
public class MspWebCallType
{
[DataMember]
public string WebService { get; set; }
[DataMember]
public string Operation { get; set; }
[DataMember]
public string Version { get; set; }
[DataMember]
public Hashtable Parameters { get; set; }
[DataMember]
public Msp.FavReadViews FAVReadViewIndicator { get; set; }
[DataMember]
public Msp.DsReadIndicators DSReadInidicator { get; set; }
}
[DataContract]
public enum Region
{
[EnumMember]
P2,
[EnumMember]
PROD
}
[DataContract]
public enum RequestType
{
[EnumMember]
None,
[EnumMember]
XmlRequest,
[EnumMember]
SomeOtherRequestType
}
[DataContract]
public struct RequestParameter
{
[DataMember]
public string ParameterName { get; set; }
[DataMember]
public string ParameterValue { get; set; }
}
Спасибо.
РЕДАКТИРОВАТЬ с ответом ...
Операция не была доступна через тестовый клиент WCF, поскольку тип MspWebCallType имел свойство типа Hashtable. Как только я удалил это свойство, это решило проблему. Спасибо всем за помощь.