O serviço de dados REST permite recuperar mais que apenas entidades, como coletas e propriedades das entidades.
Um Pedido RetrieveEntitySet pode ser usado por um cliente para recuperar um conjunto de entidades do eXtreme Scale. As entidades são representadas como um Atom Feed Document ou uma matriz JSON na carga útil da resposta. Para obter mais detalhes sobre o protocolo RetrieveEntitySet definido em Serviços de Dados WCF, consulte MSDN: Pedido RetrieveEntitySet.
O exemplo de pedido RetrieveEntitySet a seguir recupera todas as entidades Order associadas à entidade Customer('IBM'). Apenas os pedidos 5000 e 5001 são exibidos aqui.
AtomPub
<?xml version="1.0" encoding="utf-8"?>
<feed xml:base = "http://localhost:8080/wxsrestservice/restservice"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
xmlns:m = "http://schemas.microsoft.com/ado/2007/08/dataservices/
metadata" xmlns = "http://www.w3.org/2005/Atom">
<title type = "text">Order</title>
<id>http://localhost:8080/wxsrestservice/restservice/NorthwindGrid/
Order</id>
<updated>2009-12-16T22:53:09.062Z</updated>
<link rel = "self" title = "Order" href = "Order"/>
<entry>
<category term = "NorthwindGridModel.Order"
scheme = "http://
schemas.microsoft.com/
ado/2007/08/dataservices/scheme"/>
<id>http://localhost:8080/wxsrestservice/restservice/
NorthwindGrid/Order(orderId=5000,customer_customerId=
'IBM')</id>
<title type = "text"/>
<updated>2009-12-16T22:53:09.062Z</updated>
<author>
<name/>
</author>
<link rel = "edit" title = "Order" href =
"Order(orderId=5000,
customer_customerId='IBM')"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/customer"
type = "application/atom+xml;type=entry"
title = "customer" href = "Order(orderId=5000,
customer_customerId='IBM')/customer"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/orderDetails"
type = "application/atom+xml;type=feed"
title = "orderDetails" href = "Order(orderId=5000,customer_customerId='IBM')/
orderDetails"/>
<content type="application/xml">
<m:properties>
<d:orderId m:type = "Edm.Int32">5000</d:orderId>
<d:customer_customerId>IBM</d:customer_customerId>
<d:orderDate m:type = "Edm.DateTime">2009-12-16T19:
46:29.562</d:orderDate>
<d:shipCity>Rochester</d:shipCity>
<d:shipCountry m:null = "true"/>
<d:version m:type = "Edm.Int32">0</d:version>
</m:properties>
</content>
</entry>
<entry>
<category term = "NorthwindGridModel.Order"
scheme = "http://
schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
<id>http://localhost:8080/wxsrestservice/restservice/
NorthwindGrid/Order(orderId=5001, customer_customerId='IBM')
</id>
<title type = "text"/>
<updated>2009-12-16T22:53:09.062Z</updated>
<author>
<name/>
</author>
<link rel = "edit" title = "Order" href = "Order(orderId=5001,
customer_customerId='IBM')"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/customer"
type = "application/atom+xml;type=entry"
title = "customer" href = "Order(orderId=5001,
customer_customerId='IBM')/customer"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/orderDetails"
type = "application/atom+xml;type=feed"
title = "orderDetails" href = "Order(orderId=5001,
customer_customerId='IBM')/orderDetails"/>
<content type="application/xml">
<m:properties>
<d:orderId m:type = "Edm.Int32">5001</d:orderId>
<d:customer_customerId>IBM</d:customer_customerId>
<d:orderDate m:type = "Edm.DateTime">2009-12-16T19:50:
11.125</d:orderDate>
<d:shipCity>Rochester</d:shipCity>
<d:shipCountry m:null = "true"/>
<d:version m:type = "Edm.Int32">0</d:version>
</m:properties>
</content>
</entry>
</feed>
JSON
{"d":[{"__metadata":{"uri":"http://localhost:8080/wxsrestservice/
restservice/NorthwindGrid/Order(orderId=5000,
customer_customerId='IBM')",
"type":"NorthwindGridModel.Order"},
"orderId":5000,
"customer_customerId":"IBM",
"orderDate":"\/Date(1260992789562)\/",
"shipCity":"Rochester",
"shipCountry":null,
"version":0,
"customer":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5000,customer_customerId='IBM')/customer"}},
"orderDetails":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5000,customer_customerId='IBM')/orderDetails"}}},
{"__metadata":{"uri":"http://localhost:8080/wxsrestservice/
restservice/NorthwindGrid/
Order(orderId=5001,
customer_customerId='IBM')",
"type":"NorthwindGridModel.Order"},
"orderId":5001,
"customer_customerId":"IBM",
"orderDate":"\/Date(1260993011125)\/",
"shipCity":"Rochester",
"shipCountry":null,
"version":0,
"customer":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5001,customer_customerId='IBM')/customer"}},
"orderDetails":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5001,customer_customerId='IBM')/orderDetails"}}}]}
Um pedido RetrievePrimitiveProperty pode ser usado para obter o valor de uma propriedade de uma instância de entidade do eXtreme Scale. O valor da propriedade é representado como formato XML para pedidos AtomPub e objeto JSON para pedidos JSON na carga útil de resposta. Para obter mais detalhes sobre o pedido RetrievePrimitiveProperty, consulte MSDN: Pedido RetrievePrimitiveProperty.
O exemplo de pedido RetrievePrimitiveProperty a seguir recupera a propriedade contactName da entidade Customer('IBM').
AtomPub
<contactName
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
John Doe
</contactName>
JSON
Para obter mais detalhes sobre o pedido RetrieveValue, consulte MSDN: Pedido RetrieveValue.
O seguinte exemplo de pedido RetrieveValue recupera o valor bruto da propriedade contactName da entidade Customer('IBM').
Um pedido RetrieveLink pode ser utilizado para obter o(s) link(s) representando uma associação para-um ou uma associação para-muitos. Para a associação to-one, o link é de uma instância de Entidade do eXtreme Scale para outra e o link é representado na carga útil da resposta. Para a associação to-many, os links são de uma instância de Entidade do eXtreme Scale para todas as outras em uma coleta de entidades do eXtreme Scale especificadas e a resposta é representada como um conjunto de links na carga útil da resposta. Para obter mais detalhes sobre o pedido RetrieveLink, consulte MSDN: Pedido RetrieveLink.
Veja aqui um exemplo de pedido RetrieveLink. Neste exemplo, recuperamos a associação entre a entidade Order(orderId=5000,customer_customerId='IBM') e seu cliente. A resposta mostra o URI da entidade Customer.
AtomPub
<?xml version="1.0" encoding="utf-8"?>
<uri>http://localhost:8080/wxsrestservice/restservice/
NorthwindGrid/Customer('IBM')</uri>
JSON
Um Pedido RetrieveServiceMetadata pode ser usado para obter o documento Conceptual Schema Definition Language (CSDL), que descreve o modelo de dados associado ao serviço de dados REST do eXtreme Scale. Para obter mais detalhes sobre o pedido RetrieveServiceMetadata, consulte MSDN: Pedido RetrieveServiceMetadata.
Um Pedido RetrieveServiceDocument pode ser usado para recuperar o Documento de Serviço que descreve a coleta de recursos expostos pelo serviço de dados REST do eXtreme Scale. Para obter mais detalhes sobre o pedido RetrieveServiceDocument, consulte MSDN: Pedido RetrieveServiceDocument.