Java 是什么导致DestinationAccessException“;无法获取内部部署代理标头";?

Java 是什么导致DestinationAccessException“;无法获取内部部署代理标头";?,java,sap-cloud-sdk,Java,Sap Cloud Sdk,我们正在尝试从SAP云平台Java应用程序调用S/4HANA内部部署系统中的OData和REST端点。但是,我们尝试使用SAP CloudSDK为相应的目标获取HTTP客户端 Destination destination = DestinationAccessor.getDestination(destinationName); HttpClient client = HttpClientAccessor.getHttpClient(destination.asHttp()); 异常失败 c

我们正在尝试从SAP云平台Java应用程序调用S/4HANA内部部署系统中的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.
我们不知道是什么原因造成的。这篇文章也没有非常具体地说明遗漏了什么。“代理头”,好的。但它们是什么?我在哪里维护它们?为什么?我们提到的所有博客都没有提到这类内容

我们的目的地如下:

  • 姓名:ABC
  • 网址:
  • 代理类型:内部部署
  • 用户:MYUSER
  • 密码:******
  • sap客户端:123
它指向一个公开后端系统的云连接器:

  • 主持人:abc:445
  • 协议:HTTP
  • 后端类型:ABAP系统
连接检查成功

我终于在library
cloudplatform connectivity scp cf
中的类
ConnectionityService
的方法
getHeadersForOnPremiseSystem
中找到了引发异常的代码段,该代码段显然无法使用
PrincipalPropagationStrategy
解析与XSUAA服务相关的头。这让我想知道:据我所知,主要传播是为了前端访问Fiori应用程序。但我们只想调用OData端点,因此不需要也不想配置它


我们遗漏了什么或做错了什么?

弗洛里安,你必须用
DefaultErpHttpDestination
之类的东西装饰你的目的地

HttpClient client = HttpClientAccessor.getHttpClient(destination.asHttp().decorate(DefaultErpHttpDestination::new));
感谢您的良好反馈,我们将更新关于目的地处理和其他OData相关主题的文档