Tôi đang cố gắng sử dụng WCF Test Client để kiểm tra dịch vụ WCF mà tôi đã xây dựng.Phương pháp dịch vụ WCF không có trong WCF Test Client vì nó sử dụng loại
Dịch vụ có một phương thức "SubmitRequest".
[OperationContract]
Response SubmitRequest(Request request);
Khi tôi tải lên Test Khách hàng WCF, phương pháp này được chuyển sang màu xám với thông điệp "Thao tác này không được hỗ trợ trong Client WCF thử nghiệm vì nó sử dụng loại WcfLibrary.Objects.Request
Dưới đây là các định nghĩa kiểu, không ai nhìn thấy bất cứ điều gì sai?
[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; }
}
Cảm ơn.
EDIT w/câu trả lời ...
các hoạt động không có sẵn thông qua WCF Test Client vì kiểu MspWebCallType có thuộc tính kiểu Hashtable. Khi tôi đã xóa thuộc tính này, nó đã khắc phục sự cố. Cảm ơn sự giúp đỡ của mọi người.
WSDL có tham chiếu XSD cho lớp 'Yêu cầu' không? –
Bạn đã thử: [OperationContract] [KnownType (typeof (Yêu cầu))] Response SubmitRequest (Yêu cầu yêu cầu); – kd7
Câu hỏi: Lớp Yêu cầu của bạn có thực sự nằm trong không gian tên WcfLibrary.Objects không? –