【问题标题】:Missing URI element. For link operations, URI element must be specified缺少 URI 元素。对于链接操作,必须指定 URI 元素
【发布时间】:2014-08-29 16:09:00
【问题描述】:

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

使用有效载荷:

<?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 bad request 错误:

<?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.

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

【问题讨论】:

  • 我认为您一次只能链接一个实体。
  • 查看document上的2.10在条目之间创建链接部分。
  • 我确实阅读了规范,但它没有说任何关于 1 到多个基数的内容。

标签: java xml odata rest-client


【解决方案1】:

首先,对于您收到的错误消息,原因是您的请求正文有效负载不正确。请求正文应如下所示

<?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/

【讨论】:

    猜你喜欢
    • 2013-09-04
    • 2014-06-07
    • 2021-09-05
    • 2012-08-30
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    相关资源
    最近更新 更多