2017-10-13 13 views
0

더미 데이터를 반환하는 메서드로 작은 asmx 서비스를 만들려고합니다. 서비스를 실행하면 다음 오류가 발생합니다. "System.InvalidOperationException : System.Xml.XmlAttribute를 'xml 요소'로 사용할 수 없습니다." 다음과 같이"System.Xml.XmlAttribute를 'xml 요소'로 사용할 수 없습니다." 내 asmx 서비스를 실행하는 동안

내 웹 방법은 다음과 같습니다

[WebMethod] 
public SubmitCaseRequestResponse1 SubmitCaseRequest(SubmitCaseRequestRequest1 request) 
{ 

    var response = new SubmitCaseRequestResponse1 
    { 
     ResponseID = "456325898", 
     Success = true, 
     ValidationErrors = null 

    }; 
    return response; 
} 

내 SubmitCaseRequestResponse1 클래스 :

public class SubmitCaseRequestResponse1 

{ 공공 문자열 ResponseId {얻을; 세트; }

public bool Success { get; set; } 

public ValidationError[] ValidationErrors { get; set; } 

}

및 요청 클래스는 다음과 같습니다

public class SubmitCaseRequestRequest1 

{ 공공 AuthHeader AuthHeader {얻을; 세트; }

public SubmitCaseRequestRequest PostCaseDateRequest { get; set; } 

은}

답변

0

나는 복합 유형 SubmitCaseRequestRequest1 및 SubmitCaseRequestResponse1를 직렬화하기로했다. 복합 유형에 [XmlElement]를, 단순 유형에 [XmlAttribute]를 추가해야했습니다.

[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")] 
[Serializable] 
public class SubmitCaseRequestRequest1 
{ 
    [XmlElement] 
    public AuthHeader AuthHeader { get; set; } 

    [XmlElement] 
    public SubmitCaseRequestRequest PostCaseDateRequest { get; set; } 
} 

[Serializable] 
public class SubmitCaseRequestRequest 
{ 
    [XmlElement] 
    public Guid? RequestId { get; set; } 
    [XmlAttribute] 
    public string LCICourtNumber { get; set; } 
    [XmlAttribute] 
    public string CaseNumber { get; set; } 
    [XmlAttribute] 
    public string DebtorLastName { get; set; } 
    [XmlAttribute] 
    public string DateType { get; set; } 
}