我已经构建了一个简单的.net客户端,可以调用简单的休息Web服务。这有效。网络服务,回复我的回复:
<Reply>
<errorCode>OK</errorCode>
<errorDescription>d13f2197-ed6e-4997-a06d-4166ca52aa75</errorDescription>
<ccdContent></ccdContent>
</Reply>
现在我想要检索此响应如何对象。所以我创建了这个类:
class Response
{
[DataMember(Name = "errorCode")]
String errorCode { set; get; }
[DataMember(Name = "errorDescription")]
String errorDescription{ set; get; }
}
这是调用Web服务的方法:
public void writeSectionIntoCCD(String appID, String shardSecret, String userID, String password, String templateID)
{
String currentTime = DateTime.Now.ToString("yyyyMMdd");
String URL = "https://dokumentti.it/";
var client = new RestClient(URL);
string hash = CalculateMD5Hash(currentTime + shardSecret + password);
RestRequest request = new RestRequest("resource/ccd/problems/" + userID + "/" + appID + "/" + currentTime + "/"
+ hash + "?starttime=20140615&code=275498002&name=Respiratorytractinfection&system=2.16.840.1.113883.6.96&systemname=SNOMED&statuscode=55561003&statusname=Active&statussystem=2.16.840.1.113883.6.96&statussystemname=SNOMED", Method.POST);
IRestResponse<Response> response = client.Execute<Response>(request);
}
但该对象为空。
答案 0 :(得分:0)
我不确定,但你不应该这样做:
RestResponse<Response> response = client.Execute<Response>(request);
var errorCode = response.Data.errorCode;
答案 1 :(得分:0)
我找到了解决方案,问题是两个:
我已将此插入我的班级名称
[DataContract(Name = "Reply")]
然后我在我的课上插入公共属性。所以现在我有了这个:
[DataContract(Name = "Reply")]
public class Response
{
[DataMember(Name = "errorCode")]
public String errorCode { set; get; }
[DataMember(Name = "errorDescription")]
public String errorDescription{ set; get; }
}