WCF服务无法正常工作

时间:2014-06-18 14:40:44

标签: c# json wcf

我正在开发一个非常基本的服务来使用JSON提要并将其作为XML发布到另一个API。 (我道歉,我对其中大部分内容都是全新的。)

我已经构建了一个非常简单的WCF服务,并且我正在尝试测试一个基本的工作流程。

IRestServiceImpl.cs

[OperationContract]
    [WebInvoke(Method = "POST",
        ResponseFormat = WebMessageFormat.Xml,
        RequestFormat = WebMessageFormat.Json,
        BodyStyle = WebMessageBodyStyle.Bare,
        UriTemplate = "auth")]
    ResponseData Auth(RootObject rData);

RestServiceImpl.svc.cs

public ResponseData Auth(RootObject rData)
        {
            var response = new ResponseData
            {
                ID = rData.record.ID,
                wbs1 = rData.record.wbs1,
                wbs2 = rData.record.wbs2,
            };

            return response;
        }

请求DTO:

[DataContract]
public class Record
{
    public string ID { get; set; }
    public string PARENT_RECORD_ID { get; set; }
    public string PARENT_PAGE_ID { get; set; }
    public string PARENT_ELEMENT_ID { get; set; }
    public string CREATED_DATE { get; set; }
    public string CREATED_BY { get; set; }
    public string CREATED_LOCATION { get; set; }
    public string CREATED_DEVICE_ID { get; set; }
    public string MODIFIED_DATE { get; set; }
    public string MODIFIED_BY { get; set; }
    public string MODIFIED_LOCATION { get; set; }
    public string MODIFIED_DEVICE_ID { get; set; }
    public string SERVER_MODIFIED_DATE { get; set; }
    public string development_name { get; set; }
    public string development_street_address { get; set; }
    public object time_of_signature { get; set; }
    public object signature_project { get; set; }
    public string inspectors_name { get; set; }
    public string development_zip_code { get; set; }
    public string development_state { get; set; }
    public string wbs1 { get; set; }
    public string wbs2 { get; set; }
    public string development_city { get; set; }
    public object unit_inspection { get; set; }
}

[DataContract]
public class RootObject
{
    public Record record { get; set; }
    public List<object> location { get; set; }
}

回应DTO:

[DataContract]
public class ResponseData
{
    [DataMember]
    public string ID { get; set; }

    [DataMember]
    public string wbs1 { get; set; }

    [DataMember]
    public string wbs2 { get; set; }
}

但是我收到了错误。

我理解对象引用错误是一个问题,但我真的试图对WCF代码本身进行故障排除。

当我尝试将此JSON Feed发送到服务时(我已经能够使用更简单的DTO模型点击而没有错误 - 但也没有数据返回):

[{"record":{"ID":"137","PARENT_RECORD_ID":"0","PARENT_PAGE_ID":"0","PARENT_ELEMENT_ID":"0","CREATED_DATE":"2014-06-16 15:03:16","CREATED_BY":"gnathanson@netzero.net","CREATED_LOCATION":"Server","CREATED_DEVICE_ID":"Server","MODIFIED_DATE":"2014-06-18 09:33:21","MODIFIED_BY":"gnathanson@netzero.net","MODIFIED_LOCATION":"Server","MODIFIED_DEVICE_ID":"Server","SERVER_MODIFIED_DATE":"2014-06-18 09:33:21","development_name":"My Test Dev","development_street_address":"123 Anystreet Rd","time_of_signature":null,"signature_project":null,"inspectors_name":"jon_castle","development_zip_code":"08001","development_state":"NJ","wbs1":"TEST.1234","wbs2":"ESTR.1","development_city":"Anytown","unit_inspection":null},"location":[]}]

我必须为空值设置特定的处理程序吗?或者我在这里做什么更加邪恶...... ??

0 个答案:

没有答案
相关问题