对 SoftLayer_Network_Storage/000000/allowAccessFromHost 的 REST API 调用因 stdClass 错误而失败

REST API call to SoftLayer_Network_Storage/000000/allowAccessFromHost fails with stdClass error

我正在发布此请求(000000 == 虚拟访客 ID,000001 == iSCSI ID):

POST .../SoftLayer_Network_Storage/000001/allowAccessFromHost

{
 "parameters":[
 {
  "typeClassName": "SoftLayer_Virtual_Guest",
  "hostId": 000000
 }]
}

我得到的响应是:class stdClass 的对象无法转换为字符串

URL中的ID是iSCSI设备的正确ID,hostId参数中的ID是我的Virtual Guest的ID。我错过了什么?

我设法用这个(0000000 == Virtual Guest ID,00000001 == iSCSI ID)完成了同样的事情:

POST .../SoftLayer_Virtual_Guest/0000000/allowAccessToNetworkStorage.json

{
 "parameters": 
 [
  {
     "id": 00000001
  }
 ] 
}

不知道为什么另一种方法不起作用。

尝试以下方法

POST .../SoftLayer_Network_Storage/000001/allowAccessFromHost

{
  "parameters":[
     "SoftLayer_Virtual_Guest",
     000000
  ]
}

当你创建 REST 请求时考虑到参数和对象 属性 是不同的,在 JSON 正文中你不应该放参数名,只需要按相同的顺序放值.另一方面,您需要像在第二个 API 调用中那样输入 属性 名称。

http://sldn.softlayer.com/reference/services/SoftLayer_Network_Storage/allowAccessFromHost

http://sldn.softlayer.com/reference/services/softlayer_virtual_guest/allowaccesstonetworkstorage