Here is one of the methods from my wcf rest s开发者_如何学Cervice:
[OperationContract]
[WebInvoke(UriTemplate = "getInvoices", Method = "POST", RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml)]
List<InvoiceRet> GetInvoices(GetInvoices getInvoices);
And it returns response in the next format:
<ArrayOfInvoiceRet>
<InvoiceRet></InvoiceRet>
<InvoiceRet></InvoiceRet>
...
<InvoiceRet></InvoiceRet>
</ArrayOfInvoiceRet>
How to modify method to return the next response
<ListInvoice>
<InvoiceRet></InvoiceRet>
<InvoiceRet></InvoiceRet>
...
<InvoiceRet></InvoiceRet>
</ListInvoice>
You will need to implement custom collection derived from List<InvoiceRet>
and mark it with CollectionDataContractAttribute
:
[CollectionDataContract]
public class ListInvoice : List<InvoiceRet>
{ }
Use this collection as return type from your operation. Here is full description of using collections in data contracts.
精彩评论