2016-09-14 4 views
1

WCFサービスの出力として以下のxmlを取得します。下記のWCFサービスからXML出力を取得する方法

<?xml version="1.0" encoding="UTF-8"?> 
<payloads> 
    <payload> 
     <firstname>Sid</firstname> 
     <secondname>Singh</secondname> 
     <number>1</number> 
    </payload> 
    <payload> 
     <firstname>Deepak</firstname> 
     <secondname>Shahi</secondname> 
     <number>2</number> 
    </payload> 
    <payload> 
     <firstname>Shorya</firstname> 
     <secondname>Garg</secondname> 
     <number>3</number> 
    </payload> 
</payloads> 

WCFのための私のサービス契約およびデータ契約です: -

[ServiceContract] 
public interface IService1 
{ 
    [OperationContract] 
    Payload Payloads(Payload Payload); 
} 

[DataContract(Name = "Payload")] 
public class Payload 
{ 
    public string _firstname; 
    public string _secondname; 
    public string _number; 

    [DataMember(Name = "firstname")] 
    public string firstname 
    { 
     get { return _firstname; } 
     set { _firstname = value; } 
    } 

    [DataMember(Name = "secondname")] 
    public string secondname 
    { 
     get { return _secondname; } 
     set { _secondname = value; } 
    } 

    [DataMember(Name = "number")] 
    public string number 
    { 
     get { return _number; } 
     set { _number = value; } 
    } 

} 

そして、下記の私のクラスである: -

public class Service1 : IService1 
    { 
     public Payload Payloads(Payload Payload) 
     { 
      if (Payload == null) 
      { 
       throw new ArgumentNullException("Payload"); 
      } 
      return Payload; 
     } 
    } 

として、私は私の所望の出力を得ていないのです私のWCFを使って上で与えられたXMLで。助けてください。

答えて

2

:)事前に感謝しますあなたのモデル

[XmlRoot(ElementName="payload")] 
    public class Payload { 
     [XmlElement(ElementName="firstname")] 
     public string Firstname { get; set; } 
     [XmlElement(ElementName="secondname")] 
     public string Secondname { get; set; } 
     [XmlElement(ElementName="number")] 
     public string Number { get; set; } 
    } 

    [XmlRoot(ElementName="payloads")] 
    public class Payloads { 
     [XmlElement(ElementName="payload")] 
     public List<Payload> Payload { get; set; } 
    } 

IServ

[OperationContract] 
       [WebInvoke(Method = "GET", 
        ResponseFormat = WebMessageFormat.Xml, 
        BodyStyle = WebMessageBodyStyle.Bare, 
        UriTemplate = "GetPay")] 
       Payload GetPay(); 

Servの

public Payload GetPay() 
      { 
       return new Payload(); 
      } 

テスト済み仕事。

関連する問題