使用 SoapUI 为 Web 服务配置基于证书的验证 (WS-Security) 的步骤
为您方便起见,此知识库文章由机器进行翻译。SAP Ariba 不会对有关机器翻译的准确性或完整性提供任何保证。您可以通过使用语言选择器切换到英语来查找原始内容。
为 Web 服务配置基于证书的验证 (WS-Security) 的步骤
入站到 Ariba Web 服务:
- 使用密钥库以及使用隐私增强邮件 (PEM) base64 编码编码的 X.509 证书。如果您没有来自有效证书颁发机构的证书,则可以通过执行以下操作生成自签名密钥库/证书:
- 打开命令提示符,将目录更改为计算机的 Java 安装 bin 目录
- 运行以下命令生成密钥库(在 Windows 中)- 使用要使用的实际密码替换密码:
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
-
- 步骤 1b 创建了名为 keystore.jks 的密钥库文件。它是包含我的新证书以及公钥和私钥的 Java 密钥库。
- 现在,从可实施到 Ariba UI 的密钥库中提取 PEM 证书以进行端点验证。在命令提示符处,运行以下命令(使用步骤 1b 中设置的实际密码替换密码):
keytool -exportcert -alias selfsigned -keypass password -keystore keystore.jks -storepass password -rfc -file keytool_crt.pem
- 出于此解决方案的目的,我将参考在 SoapUI 中配置请求。在 Ariba 中,转到管理 > 管理/核心管理 > 集成管理器 > 端点配置 > 新建
- 粘贴在步骤 1d 中使用隐私增强邮件 (PEM) base64 编码编码编码的 X.509 证书,粘贴到证书文件中,然后保存更改。证书的第一行必须是以下文本:
-----BEGIN CERTIFICATE-----
证书的最后一行必须是以下文本:
-----END CERTIFICATE-----

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

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

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

- 在 SoapUI 中双击打开请求:

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

- 现在,您可以从 SoapUI 运行请求。您应该会看到一个成功的响应
从 Ariba Web 服务出站到中间件:
- 确保步骤 1 已从“入站到 Ariba Web 服务”步骤中完成
-
在 Ariba 中,转到管理 > 管理/核心管理 > 集成管理器 > 端点配置 > 新建 > 选择类型为“出站”
对于 "URL",指定端点。这将是 Ariba 发送 SOAP 请求的位置。Ariba 建议使用 https;但是 http 也将起作用:
示例:
https://<domain>:<port>/WSOutbound
- 将“使用 Ariba 私钥签名”设置为“是”并保存端点
- 转到管理 > 管理/核心管理 > 集成管理器 > 集成配置 > 选择所需的 Web 服务,对其进行编辑,确保已启用并使用在步骤 2 中创建的 端点。此外,设置 URL(应与端点 URL 相同,但可以在 URL 中具有附加参数)
- 打开 WSDL URL 并在浏览器中复制 URL
- 在 SoapUI 中,创建新的 SoapUI 项目并使用从 Ariba 复制的 WSDL URL
- 确保选中创建模拟服务
- 在下一屏幕中,填写有关端口和路径的数据
- 双击刚刚创建的项目
- 单击密钥库标签并单击添加图标(类似于 + 号)
- 选择在入站到 Ariba Web 服务的步骤 1 中创建的密钥库文件(文件扩展名 .jks)并输入密钥库密码。完成此操作后,密钥库的状态应为 正常
- 单击传入 WS-Security 配置标签并单击添加图标(类似于 + 号)
- 为条目指定名称并为“解密密钥库”和“签名密钥库”选择密钥库值,然后输入密钥库密码
- 单击 SOAP 项目中的 MockService
- 在模型服务属性下,将“传入 WSS”设置为在步骤 13 中完成的已配置“传入 WS-Security 配置”的名称
- 双击响应并手动输入值,以使响应满足所需结果(成功或错误)。这是请求进入 SoapUI 时发送到 Ariba 的响应。
- 现在,您可以在 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
Supplier Information & Performance Management
战略合同
战略寻源
采购