首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用S/4HANACloudSDK执行DestinationAccessException查询时>= 2.0.0

使用S/4HANACloudSDK执行DestinationAccessException查询时>= 2.0.0
EN

Stack Overflow用户
提问于 2018-06-18 14:38:27
回答 1查看 491关注 0票数 5

我正试图使用OData描述的VDM从S/4HANACloud1805系统中读取数据。目标使用基本身份验证。

样例呼叫:

代码语言:javascript
复制
final ErpConfigContext context = new ErpConfigContext("...");
return new DefaultQualityInspectionDataService().getAllInspectionLot().select(...).execute(context);

这至少在S/4HANACloudSDK发布1.9.4之前起作用。由于更新到2.0.0,由于以下异常,无法再使用目标:

代码语言:javascript
复制
2018 06 18 12:43:55#+00#ERROR#org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/app-application].[com.sap.cloud...Servlet]##anonymous#https-jsse-nio-8041-exec-3#na#a078260ed#app#web#a078260ed#na#na#na#na#Allocate exception for servlet [com.sap.cloud...Servlet] com.sap.cloud.sdk.cloudplatform.connectivity.exception.DestinationAccessException: Failed to get ConnectivityConfiguration: no RequestContext available. Have you correctly configured a RequestContextFactory or have you wrapped your logic in a RequestContextExecutor when executing background tasks that are not triggered by a request?
at com.sap.cloud.sdk.cloudplatform.connectivity.ScpNeoDestinationFacade.getConnectivityConfiguration(ScpNeoDestinationFacade.java:60)
at com.sap.cloud.sdk.cloudplatform.connectivity.ScpNeoDestinationFacade.getDestinationConfiguration(ScpNeoDestinationFacade.java:108)
at com.sap.cloud.sdk.cloudplatform.connectivity.ScpNeoDestinationFacade.getGenericDestination(ScpNeoDestinationFacade.java:183)
at com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor.getGenericDestination(DestinationAccessor.java:136)
at com.sap.cloud.sdk.s4hana.connectivity.ErpConfigContext.<init>(ErpConfigContext.java:218)
at com.sap.cloud.sdk.s4hana.connectivity.ErpConfigContext.<init>(ErpConfigContext.java:367)
at com.sap.cloud.sdk.s4hana.connectivity.ErpConfigContext.<init>(ErpConfigContext.java:442)
at com.sap.cloud...Servlet.<init>(...Servlet.java:31)
...
at java.lang.Thread.run(Thread.java:808)

当调用HTTP时,即使目标尚未被使用,也会立即发生异常。ErpConfigContext似乎有一个问题。从2.0.0开始,目标必须配置为ErpConfigContext而不是ErpEndpoint。我已经阅读了关于ErpConfigContext和RequestContext处理的迁移指南(ErpConfigContext),但是这个解决方案并不适用于我的应用程序,因为我从未使用过RequestContextListener,而且它仍然有效。

此外,使用ErpConfigContext在使用1.9.4时使用相同的编码,因此问题似乎是对2.x.x的更新。更新到2.1.0也不能解决这个问题。

我在几个OData服务中遇到了这个问题。

除了等待新的SDK更新之外,还有其他解决方案吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 19:33:42

您可能在servlet的构造函数中初始化ErpConfigContext吗?您能尝试在servlet的new ErpConfigContext("...")方法中调用doGet()吗?这里的问题可能是RequestContext的初始化只发生在servlet的过滤器链中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50911945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档