是什么导致了 DestinationAccessException "Failed to get on-premise proxy headers"?
What causes the DestinationAccessException "Failed to get on-premise proxy headers"?
我们正在尝试从我们的 SAP Cloud Platform Java 应用调用 S/4HANA On Premise 系统中的 OData 和 REST 端点。但是,我们尝试使用 SAP CloudSDK 获取相应目的地的 HTTP 客户端
Destination destination = DestinationAccessor.getDestination(destinationName);
HttpClient client = HttpClientAccessor.getHttpClient(destination.asHttp());
异常失败
com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException:
Failed to get on-premise proxy headers.
我们不知道是什么原因造成的。该文本也不是很具体地说明缺少的内容。 "Proxy headers",好的。但它们是什么,我在哪里维护它们,为了什么? None 我们提到的博客 1 2 提到了任何此类内容。
我们的目的地如下所示:
- 姓名:ABC
- URL: http://abc:445/sap/opu/odata/sap/SOME_ODATA_SRV
- 代理类型:OnPremise
- 用户:我的用户
- 密码:******
- sap-client: 123
它指向公开 back-end 系统的云连接器:
- 主持人:abc:445
- 协议:HTTP
- Back-End 类型:ABAP 系统
连接检查成功。
我终于在库cloudplatform-connectivity-scp-cf
的classConnectivityService
的方法getHeadersForOnPremiseSystem
中找到了抛出异常的那段代码,显然无法解决headers 与使用 PrincipalPropagationStrategy
的 XSUAA 服务相关。这让我想知道:据我所知,主要传播是为了前端访问 Fiori 应用程序。但我们只想调用 OData 端点,因此不需要也不想配置它。
我们遗漏了什么或做错了什么?
Florian,你必须用 DefaultErpHttpDestination
来装饰你的目的地
HttpClient client = HttpClientAccessor.getHttpClient(destination.asHttp().decorate(DefaultErpHttpDestination::new));
感谢您的好评,我们将更新有关目标处理和其他 OData 相关主题的文档 here
我们正在尝试从我们的 SAP Cloud Platform Java 应用调用 S/4HANA On Premise 系统中的 OData 和 REST 端点。但是,我们尝试使用 SAP CloudSDK 获取相应目的地的 HTTP 客户端
Destination destination = DestinationAccessor.getDestination(destinationName);
HttpClient client = HttpClientAccessor.getHttpClient(destination.asHttp());
异常失败
com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException:
Failed to get on-premise proxy headers.
我们不知道是什么原因造成的。该文本也不是很具体地说明缺少的内容。 "Proxy headers",好的。但它们是什么,我在哪里维护它们,为了什么? None 我们提到的博客 1 2 提到了任何此类内容。
我们的目的地如下所示:
- 姓名:ABC
- URL: http://abc:445/sap/opu/odata/sap/SOME_ODATA_SRV
- 代理类型:OnPremise
- 用户:我的用户
- 密码:******
- sap-client: 123
它指向公开 back-end 系统的云连接器:
- 主持人:abc:445
- 协议:HTTP
- Back-End 类型:ABAP 系统
连接检查成功。
我终于在库cloudplatform-connectivity-scp-cf
的classConnectivityService
的方法getHeadersForOnPremiseSystem
中找到了抛出异常的那段代码,显然无法解决headers 与使用 PrincipalPropagationStrategy
的 XSUAA 服务相关。这让我想知道:据我所知,主要传播是为了前端访问 Fiori 应用程序。但我们只想调用 OData 端点,因此不需要也不想配置它。
我们遗漏了什么或做错了什么?
Florian,你必须用 DefaultErpHttpDestination
来装饰你的目的地
HttpClient client = HttpClientAccessor.getHttpClient(destination.asHttp().decorate(DefaultErpHttpDestination::new));
感谢您的好评,我们将更新有关目标处理和其他 OData 相关主题的文档 here