使用 HTTP 客户端调用 REST API

IBM Sterling® Order Management支持调用 REST API 的基本和标准身份验证。 缺省情况下, REST 认证设置为标准认证。 要定义要使用的认证样式,请完成以下步骤:

  1. 配置认证样式属性。
  2. 重新启动应用程序服务器。
  3. 通过配置 HTTP 身份验证样式启动 REST API。

配置认证样式属性

缺省情况下, servlet.authstyle 设置为 STANDARD。 IBM 建议在更高级别的环境中进行标准认证。 您可以根据业务需要将认证样式用作 BASIC 或 STANDARD。

针对当前环境类型配置 xapirest.properties 。 将 servlet.authstyle 属性设置为 BASIC 或 STANDARD。 根据环境类型,可以在开发工具包中的 customer_overrides.properties 文件中设置属性,也可以使用 Sterling™ Order Management云实例中的系统管理管理员设置属性。

有关 xapirest.properties的更多信息,请参阅 xapirest.properties

如果要使用 HTTP REST XAPI Tester 进行开发和测试,请参阅设置 HTTP REST XAPI Tester

重新启动应用程序服务器

更改认证样式时,必须重新启动所有应用程序服务器。

有关更多信息,请参阅 在下一代平台上管理服务器进程

通过配置 HTTP 验证样式调用 REST API

标准认证
要设置 STANDARD 认证样式,请执行以下步骤:
  1. 使用以下 URL 通过 REST 调用登录 API:
    http://<ip-address>:<port>//smcfs/restapi/invoke/login

    方法-POST

    介质类型- application/json

  2. 提供登录的有效内容:
    {                                                                      
    "LoginID" : "yourUserLogin",                                                  
    "Password" : "UserPassword"                                                
    } 
    API 返回以下结果:
    "UserGroupID": "ItemAdministratorGroup",                              
    "UserToken":                                                            
    "mXffVPKgo9HUoftxg0HsyX3uQQP6o4LmAG3HHnfiVTrtQvx3dyYUX8n6793wggmU15",
    "UserName": "Administrator",
  3. 在后续调用中使用登录调用期间生成的 UserToken 。 用户将 _loginid 和 _token 作为 REST API URL 的查询参数。
    例如,要启动服务器 (GET) API,请使用以下 URL :
    http://localhost:<port>/smcfs/restapi/server?_loginid=admin&_token=mXffVPKgo9HUoftxg0HsyX3uQQP6o4LmAG3HHnfiVTrtQvx3dyYUX8n6793wggmU15
注意: 必须使用 HTTP 客户端(如 Postman)进行标准身份验证。 HTTP REST XAPI 测试仪仅支持基本认证。
基本认证
HTTP REST XAPI 测试仪仅支持基本认证。 不过,如果要使用自己的 HTTP 客户端,请执行以下步骤:要设置 BASIC 身份验证样式,必须提供一个标头,并执行以下 base64 编码:
  1. 获取由用户登录名和用户私钥组成的 base64 编码令牌。 使用冒号并置这些值。 例如,如果用户名为 testuser ,密码为 testsecret,那么通过使用 base64 编码器,可以执行以下命令:
    echo -n "testuser:testsecret"|openssl base64
    结果:
    dGVzdHVzZXI6dGVzdHNlY3JldA==

    在 REST API 调用期间,将此令牌用作用于认证的基本令牌。

  2. 使用基本 base64 令牌来调用 REST API。
    在 HTTP 请求标头中包含以下值:
    Authorization: BASIC 
    例如,
    curl --location --request GET 'http://localhost:/smcfs/restapi/server'
    --header 'Authorization: Basic dGVzdHVzZXI6dGVzdHNlY3JldA=='
    --header 'Content-Type: application/json'

有关调用 REST API 服务的更多信息,请参阅 调用 REST 服务

有关更多信息,请参阅 API 安全性