缺少URI元素。对于链接操作,必须指定URI元素

时间:2014-08-29 16:09:01

标签: java xml odata rest-client

我正在尝试使用OData服务创建链接b / w Products(ID = 1和ID = 2)和Category(ID = 12) - http://services.odata.org/(S(egpbfjhhvili4slwaq1p2lvt))/V2/OData/OData.svc/Categories(12)/ $链接/产品

使用有效载荷:

<?xml version="1.0" encoding="utf-8"?>
<links xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
<uri>http://services.odata.org/(S(egpbfjhhvili4slwaq1p2lvt))/V2/OData/OData.svc/Products(7)</uri>
<uri>http://services.odata.org/(S(egpbfjhhvili4slwaq1p2lvt))/V2/OData/OData.svc/Products(8)</uri>
</links>

但我收到 400错误请求错误:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<error xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<code/>
<message xml:lang="en-US">Missing URI element. For link operations, URI element must be specified.

有什么建议吗?我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

首先,对于您收到的错误消息,原因是您的请求正文有效负载不正确。请求正文应该看起来像

<?xml version="1.0" encoding="utf-8"?>
<uri xmlns="http://schemas.microsoft.com/ado/2007/08/dataservices">
http://services.odata.org/(S(egpbfjhhvili4slwaq1p2lvt))/V2/OData/OData.svc/Products(6)
</uri>

第二,我也认为在这种情况下,它可能不支持一对多的肉体。但是,如果您想一次添加两个,也许您可​​以尝试使用批处理请求http://www.odata.org/documentation/odata-version-2-0/batch-processing/