【问题标题】:WCF Rest Service Request Object' s Fields Always NullWCF Rest 服务请求对象的字段始终为空
【发布时间】:2016-06-15 15:00:57
【问题描述】:

我创建了一个 WCF 休息服务。我尝试发布方法用法。我从客户端发送请求,从服务方法获取请求。但请求对象(CompanyDTO)字段值为空。问题出在哪里?我找不到。

服务发布方式

public void SaveCompany(CompanyDTO NewCompany)
{
    try
    {
        CompanyManager manager = new CompanyManager();
        manager.Save(NewCompany);

        WebOperationContext ctx = WebOperationContext.Current;
        ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.OK;
    }
    catch (Exception ex)
    {
        throw new FaultException(new FaultReason(ex.Message));
    }
}

合约服务接口

[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json,
  BodyStyle = WebMessageBodyStyle.Bare,
  UriTemplate = "SaveCompany")]

void SaveCompany(CompanyDTO NewCompany);

CompantDTO

public class CompanyDTO
{
    public string IDENTIFIER { get; set; }
    public string TYPE { get; set; }
    public string USER_TYPE { get; set; }
    public string FIRST_NAME { get; set; }
    public string MIDDLE_NAME { get; set; }
    public string FAMILY_NAME { get; set; }
    public string COMPANY_NAME { get; set; }
    public Nullable<int> COMPANY_NO { get; set; }
    public string LEGAL_OFFICE { get; set; }
    public Nullable<System.DateTime> FOUNDATION_DATE { get; set; }
    public string BOARDOFTRADE_NAME { get; set; }
    public string BOARDOFTRADE_ID { get; set; }
    public string MERSIS_NO { get; set; }
    public string TAPDK_NO { get; set; }
    public string TRADE_REGISTRATION_NO { get; set; }
    public string TRADE_REGISTRATION_OFFICE { get; set; }
    public string TAX_IDENTIFICATION_NO { get; set; }
    public Nullable<System.DateTime> DIGITAL_SIGN_VALIDITY_DATE { get; set; }
    public string TAX_OFFICE { get; set; }
    public string TAX_OFFICE_CODE { get; set; }
    public Nullable<short> STATUS { get; set; }
    public Nullable<int> SYS_VERSION { get; set; }
    public Nullable<System.DateTime> SYS_LAST_UPDATE { get; set; }
}    

客户端请求正文

{
    "CompanyDTO":
    {  
        "IDENTIFIER":"34501599398",
        "TYPE":"1",
        "USER_TYPE":"1",
        "FIRST_NAME":"Ebru",
        "MIDDLE_NAME":"sws",
        "FAMILY_NAME":"sd",
        "COMPANY_NAME":"NULL",
        "COMPANY_NO": "123",
        "LEGAL_OFFICE": "DSF",
        "FOUNDATION_DATE":"2015-03-02",
        "BOARDOFTRADE_NAME":"SAD",
        "BOARDOFTRADE_ID":"ASD",
        "MERSIS_NO":"DASD",
        "TAPDK_NO":"NULASDASDL",
        "TRADE_REGISTRATION_NO":"NULL",
        "TRADE_REGISTRATION_OFFICE":"ADS",
        "TAX_IDENTIFICATION_NO":"NUASDSALL",
        "DIGITAL_SIGN_VALIDITY_DATE": "2015-03-02",
        "TAX_OFFICE":"ASDAD",
        "TAX_OFFICE_CODE":"ASDA",
        "STATUS": "1",
        "SYS_VERSION" : "1",
        "SYS_LAST_UPDATE": "2015-03-02"
    }
}

【问题讨论】:

    标签: json web-services wcf rest wcf-rest


    【解决方案1】:

    看来你需要去掉 json 中的"CompanyDTO",所以看起来像这样:

    {  
       "IDENTIFIER":"34501599398",
       "TYPE":"1",
       "USER_TYPE":"1",
       "FIRST_NAME":"Ebru",
       "MIDDLE_NAME":"sws",
       "FAMILY_NAME":"sd",
       "COMPANY_NAME":"NULL",
       "COMPANY_NO": "123",
       "LEGAL_OFFICE": "DSF",
       "FOUNDATION_DATE":"2015-03-02",
       "BOARDOFTRADE_NAME":"SAD",
       "BOARDOFTRADE_ID":"ASD",
       "MERSIS_NO":"DASD",
       "TAPDK_NO":"NULASDASDL",
       "TRADE_REGISTRATION_NO":"NULL",
       "TRADE_REGISTRATION_OFFICE":"ADS",
       "TAX_IDENTIFICATION_NO":"NUASDSALL",
       "DIGITAL_SIGN_VALIDITY_DATE": "2015-03-02",
       "TAX_OFFICE":"ASDAD",
       "TAX_OFFICE_CODE":"ASDA",
       "STATUS": "1",
       "SYS_VERSION" : "1",
       "SYS_LAST_UPDATE": "2015-03-02"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-02
      • 2018-05-05
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-27
      • 1970-01-01
      相关资源
      最近更新 更多