常见问题 KB0394293
电子邮件
使用 SoapUI 为 Web 服务配置基于证书的验证 (WS-Security) 的步骤
为您方便起见,此知识库文章由机器进行翻译。SAP Ariba 不会对有关机器翻译的准确性或完整性提供任何保证。您可以通过使用语言选择器切换到英语来查找原始内容。
问题

为 Web 服务配置基于证书的验证 (WS-Security) 的步骤

回答

入站到 Ariba Web 服务:

  1. 使用密钥库以及使用隐私增强邮件 (PEM) base64 编码编码的 X.509 证书。如果您没有来自有效证书颁发机构的证书,则可以通过执行以下操作生成自签名密钥库/证书:
    1. 打开命令提示符,将目录更改为计算机的 Java 安装 bin 目录
    2. 运行以下命令生成密钥库(在 Windows 中)- 使用要使用的实际密码替换密码:

keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048

    1. 步骤 1b 创建了名为 keystore.jks 的密钥库文件。它是包含我的新证书以及公钥和私钥的 Java 密钥库。
    2. 现在,从可实施到 Ariba UI 的密钥库中提取 PEM 证书以进行端点验证。在命令提示符处,运行以下命令(使用步骤 1b 中设置的实际密码替换密码):

keytool -exportcert -alias selfsigned -keypass password -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem

  1. 出于此解决方案的目的,我将参考在 SoapUI 中配置请求。在 Ariba 中,转到管理 > 管理/核心管理 > 集成管理器 > 端点配置 > 新建
  2. 粘贴在步骤 1d 中使用隐私增强邮件 (PEM) base64 编码编码编码的 X.509 证书,粘贴到证书文件中,然后保存更改。证书的第一行必须是以下文本:
    -----BEGIN CERTIFICATE-----
    证书的最后一行必须是以下文本:
    -----END CERTIFICATE-----

  1. 转到管理 > 管理/核心管理 > 集成管理器 > 集成配置 > 选择所需的 Web 服务,对其进行编辑,确保已启用并使用在步骤 3 中创建的 端点。
  2. 复制 WSDL URL
  3. 在 SoapUI 中,创建新的 SoapUI 项目并使用从 Ariba 复制的 WSDL URL
  4. 双击项目

  1. 单击密钥库标签并单击添加图标(类似于 + 号)
  2. 选择在步骤 1 中创建的密钥库文件(.jks 文件扩展名)并输入密钥库密码。完成此操作后,密钥库的状态应为 正常

  1. 单击传出 WS-Security 配置标签,然后单击添加图标(类似于 + 号)
  2. 单击下部窗格中的“添加”图标以添加安全类型。选择“签名”
  3. 从下拉列表中选择密钥库和别名,然后输入密钥库密码。将密钥标识符类型 =“颁发者名称和序列号”。配置完成后,配置将如下所示:

  1. 在 SoapUI 中双击打开请求:

  1. 在请求中,单击“自动”标签。将传出 WSS 设置为在步骤 10-12 中创建的“传出 WS-Security 配置”的名称。

  1. 现在,您可以从 SoapUI 运行请求。您应该会看到一个成功的响应

从 Ariba Web 服务出站到中间件:

  1. 确保步骤 1 已从“入站到 Ariba Web 服务”步骤中完成
  2. 在 Ariba 中,转到管理 > 管理/核心管理 > 集成管理器 > 端点配置 > 新建 > 选择类型为“出站
    对于 "URL",指定端点。这将是 Ariba 发送 SOAP 请求的位置。Ariba 建议使用 https;但是 http 也将起作用:

    示例:
    https://<domain>:<port>/WSOutbound

  3. 将“使用 Ariba 私钥签名”设置为“是”并保存端点
  4. 转到管理 > 管理/核心管理 > 集成管理器 > 集成配置 > 选择所需的 Web 服务,对其进行编辑,确保已启用并使用在步骤 2 中创建的 端点。此外,设置 URL(应与端点 URL 相同,但可以在 URL 中具有附加参数)
  5. 打开 WSDL URL 并在浏览器中复制 URL
  6. 在 SoapUI 中,创建新的 SoapUI 项目并使用从 Ariba 复制的 WSDL URL
  7. 确保选中创建模拟服务
  8. 在下一屏幕中,填写有关端口和路径的数据
  9. 双击刚刚创建的项目
  10. 单击密钥库标签并单击添加图标(类似于 + 号)
  11. 选择在入站到 Ariba Web 服务的步骤 1 中创建的密钥库文件(文件扩展名 .jks)并输入密钥库密码。完成此操作后,密钥库的状态应为 正常
  12. 单击传入 WS-Security 配置标签并单击添加图标(类似于 + 号)
  13. 为条目指定名称并为“解密密钥库”和“签名密钥库”选择密钥库值,然后输入密钥库密码
  14. 单击 SOAP 项目中的 MockService
  15. 模型服务属性下,将“传入 WSS”设置为在步骤 13 中完成的已配置“传入 WS-Security 配置”的名称
  16. 双击响应并手动输入值,以使响应满足所需结果(成功或错误)。这是请求进入 SoapUI 时发送到 Ariba 的响应。
  17. 现在,您可以在 Ariba 应用程序中生成数据,该应用程序使用预期的 Web 服务将数据发送到 SoapUI。
附加信息

有关使用上述步骤生成密钥库的详细信息,请参阅:

http://www.john-james-andersen.com/blog/service-now/tutorial-soap-into-servicenow-via-x509-ws-security.html

有关在 SoapUI 中专门配置 WS-Security 的详细信息,请参阅:

http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html

使用 SoapUI.txt 为 Web 服务配置基于证书的验证 (WS-Security) 的步骤6.75 KB

适用产品

Supplier Information & Performance Management
战略合同
战略寻源
采购

使用条款  |  版权所有  |  安全披露  |  隐私