从SAP CP(Java)发送请求时出现HandshakeException

2020-08-31 13:16发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试将GET/POST oData请求从SAP CP上的Java应用程序发送到SAP C4C系统。 在SOAPUI或本地计算机上,它工作正常,在SAP CP中,它也工作正常,但并非总是如此。 有时我会收到如下错误:' HandshakeException:握手期间远程主机关闭连接'或' 无法找到到请求目标的有效证书路径 。

客户端restClient = Client.create();
     WebResource webResource = restClient.resource(" https://my000000.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi/SalesQuoteCollection");
     返回webResource.accept(" application/json")
             .header(" Authorization"," Basic" + authStringEnc)
             .header(" x-csrf-token"," fetch")
             .get(ClientResponse.class); 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试将GET/POST oData请求从SAP CP上的Java应用程序发送到SAP C4C系统。 在SOAPUI或本地计算机上,它工作正常,在SAP CP中,它也工作正常,但并非总是如此。 有时我会收到如下错误:' HandshakeException:握手期间远程主机关闭连接'或' 无法找到到请求目标的有效证书路径 。

客户端restClient = Client.create();
     WebResource webResource = restClient.resource(" https://my000000.crm.ondemand.com/sap/c4c/odata/v1/c4codataapi/SalesQuoteCollection");
     返回webResource.accept(" application/json")
             .header(" Authorization"," Basic" + authStringEnc)
             .header(" x-csrf-token"," fetch")
             .get(ClientResponse.class); 
付费偷看设置
发送
1条回答
CPLASF-自律
1楼-- · 2020-08-31 13:40

嗨,弗拉德,

请求的资源是https。 因此,您必须在SCP上提供正确的数字证书才能进行调用。 这并不明显,但是SCP平台没有针对所有自动导入到每个子帐户中的所有C4C租户的所有证书。

因此,您需要执行以下两项操作:

1)在Java代码中使用目标服务API,以避免对C4C端点进行硬编码。

2)在创建新目的地时,可以将C4C租户的数字证书导入到安全存储区jks中,以在SSL握手期间使用。

如果要避免这样做 上述步骤中,您将必须在其余客户端上手动编码SSL部分。

最诚挚的问候,
Ivan

一周热门 更多>