SoftLayer API:订购许可证

时间:2018-07-11 02:49:47

标签: ibm-cloud-infrastructure

我正在使用Product_Order.placeOrder方法订购许可证。问题是complexType和packageId是什么关系。我可以同时指定complexType和packageId吗?在哪里可以找到API文档?谢谢。

  {'complexType': 'SoftLayer_Container_Product_Order_Software_License',
   'quantity': xxx,
   'packageId': xxx,
   'prices': [{'id': xxx}]
  }

1 个答案:

答案 0 :(得分:0)

complexType使服务器知道您要发送的数据类型结构。 https://softlayer.github.io/article/soap/

  

每个WSDL都定义了特定服务的可用方法和   包括一个XSD文件,该文件定义了可用于   SoftLayer API。

     

重要的API标头,例如身份验证,初始化   参数和对象掩码作为SOAP发送到SoftLayer API   标头。每个呼叫标头都有一个关联的复杂类型。

调用placeOrder时,您需要发送 SoftLayer_Container_Product_Order 数据类型(基本orderData),并且某些产品/设备需要设置其他信息,但它们不在 SoftLayer_Container_Product_Order 中>,因为它们属于从 SoftLayer_Container_Product_Order 继承的另一种数据类型。

SoftLayer_Container_Product_Order_Software_License 继承自 SoftLayer_Container_Product_Order ,除非有必要的数据不属于 SoftLayer_Container_Product_Order 或否则,否则可能不需要设置complexType。你会例外。

packageId定义要订购所需产品时要发送的价格。现在,可以订购具有相同complexType但具有不同packageId的某些产品,例如硬件服务器(请参见placeOrder中的表):

|Product                  | Order Container                                   | Package type
------------------------------------------------------------------------------------------------
|Bare metal server by CPU | SoftLayer_Container_Product_Order_Hardware_Server | BARE_METAL_CPU |
|Bare metal server by core| SoftLayer_Container_Product_Order_Hardware_Server | BARE_METAL_CORE|

建议同时设置 complexType packageId ,这有助于服务器更快地处理请求。