使用SAP Cloud SDK 3.0版从Java调用BAPI

arunava04

我目前在POC上工作,我需要使用Java从云应用程序在S / 4HANA内部部署中调用BAPI。为此,我正在使用SAP Cloud SDK。

对于初始设置,我遵循以下步骤:https : //developers.sap.com/tutorials/s4sdk-setup.html

我正在尝试BAPI_COSTCENTER_GETLIST1从我的申请中致电这是代码片段:

final BapiRequestResult resultGetCostCenters = new BapiRequest("BAPI_COSTCENTER_GETLIST1")
 .withExporting("CONTROLLINGAREA", "BAPI0012_GEN-CO_AREA", "0001")
 .withTable("COSTCENTERLIST", "BAPI0012_CCLIST").end()
 .withTableAsReturn("BAPIRET2")
 .execute(destination);

这里是destination变量的声明

Map<String, String> destinationProps = new HashMap<String, String>();
// Added a sample destination name. Solved NoSuchElementException error. 
destinationProps.put("Name", "SampleDestination");
destinationProps.put("URL", "<system_url>");
destinationProps.put("Type", "HTTP");
destinationProps.put("Password", "<system_password>");
destinationProps.put("Authentication", "BasicAuthentication");
destinationProps.put("User", "<system_user>");

final Destination destination= new DefaultDestination(destinationProps);

但是从execute()抛出的一个例外说java.util.NoSuchElementException: No value present这是完整的堆栈跟踪

java.util.NoSuchElementException: No value present
    at io.vavr.control.Option$None.get(Option.java:526)
    at com.sap.cloud.sdk.s4hana.connectivity.rfc.SoapTransaction.before(SoapTransaction.java:56)
    at com.sap.cloud.sdk.s4hana.connectivity.rfc.RemoteFunctionRequestExecutor.execute(RemoteFunctionRequestExecutor.java:43)
    at com.sap.cloud.sdk.s4hana.connectivity.rfc.BapiRequest.execute(BapiRequest.java:78)
    at com.sap.csc.CostCenterCreationServlet.retrieveCostCenterList(CostCenterCreationServlet.java:73)
    at com.sap.csc.CostCenterCreationServlet.doGet(CostCenterCreationServlet.java:39)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.lambda$doFilter$1(RequestAccessorFilter.java:71)
    at com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.lambda$execute$0(AbstractThreadContextExecutor.java:317)
    at com.sap.cloud.sdk.cloudplatform.thread.ThreadContextCallable.call(ThreadContextCallable.java:247)
    at com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.execute(AbstractThreadContextExecutor.java:319)
    at com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.doFilter(RequestAccessorFilter.java:71)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.sap.cloud.sdk.cloudplatform.security.servlet.HttpCachingHeaderFilter.doFilter(HttpCachingHeaderFilter.java:80)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter.doFilter(HttpSecurityHeadersFilter.java:41)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.filters.RestCsrfPreventionFilter.doFilter(RestCsrfPreventionFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:835)

我认为我缺少一些非常基本的东西。也许我做错了。我找不到有关此主题的任何有据可查的教程。所以,请纠正我哪里出问题了。

提前致谢。

(SAP Cloud SDK概述页面-https://help.sap.com/doc/0786ec6134c04c9bbafec959b6b737de/1.0/en-US/index.html

完整的堆栈跟踪是否有Target host is not specified异常

com.sap.cloud.sdk.s4hana.connectivity.exception.RequestExecutionException: BapiRequest com.sap.csc.CostCenterCreationServlet.retrieveCostCenterList(CostCenterCreationServlet.java:69) failed [total: N/A, build payload: 0.243255s, execute request: N/A, parse response: N/A]
com.sap.cloud.sdk.s4hana.connectivity.rfc.exception.RemoteFunctionException: com.sap.cloud.sdk.s4hana.connectivity.exception.RequestExecutionException: BapiRequest com.sap.csc.CostCenterCreationServlet.retrieveCostCenterList(CostCenterCreationServlet.java:69) failed [total: N/A, build payload: 0.243255s, execute request: N/A, parse response: N/A]
    at com.sap.cloud.sdk.s4hana.connectivity.rfc.SoapTransaction.execute(SoapTransaction.java:70)
    at com.sap.cloud.sdk.s4hana.connectivity.rfc.RemoteFunctionRequestExecutor.execute(RemoteFunctionRequestExecutor.java:46)
    at com.sap.cloud.sdk.s4hana.connectivity.rfc.BapiRequest.execute(BapiRequest.java:78)
    at com.sap.csc.CostCenterCreationServlet.retrieveCostCenterList(CostCenterCreationServlet.java:73)
    at com.sap.csc.CostCenterCreationServlet.doGet(CostCenterCreationServlet.java:39)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.lambda$doFilter$1(RequestAccessorFilter.java:71)
    at com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.lambda$execute$0(AbstractThreadContextExecutor.java:317)
    at com.sap.cloud.sdk.cloudplatform.thread.ThreadContextCallable.call(ThreadContextCallable.java:247)
    at com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.execute(AbstractThreadContextExecutor.java:319)
    at com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.doFilter(RequestAccessorFilter.java:71)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.sap.cloud.sdk.cloudplatform.security.servlet.HttpCachingHeaderFilter.doFilter(HttpCachingHeaderFilter.java:80)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter.doFilter(HttpSecurityHeadersFilter.java:41)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.filters.RestCsrfPreventionFilter.doFilter(RestCsrfPreventionFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: com.sap.cloud.sdk.s4hana.connectivity.exception.RequestExecutionException: BapiRequest com.sap.csc.CostCenterCreationServlet.retrieveCostCenterList(CostCenterCreationServlet.java:69) failed [total: N/A, build payload: 0.243255s, execute request: N/A, parse response: N/A]
    at com.sap.cloud.sdk.s4hana.connectivity.ErpHttpRequestExecutor.execute(ErpHttpRequestExecutor.java:662)
    at com.sap.cloud.sdk.s4hana.connectivity.ErpHttpRequestExecutor.execute(ErpHttpRequestExecutor.java:410)
    at com.sap.cloud.sdk.s4hana.connectivity.rfc.SoapTransaction.execute(SoapTransaction.java:65)
    ... 44 more
Caused by: org.apache.http.client.ClientProtocolException
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:187)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
    at com.sap.cloud.sdk.cloudplatform.connectivity.HttpClientWrapper.execute(HttpClientWrapper.java:94)
    at com.sap.cloud.sdk.s4hana.connectivity.ErpHttpRequestExecutor.execute(ErpHttpRequestExecutor.java:646)
    ... 46 more
Caused by: org.apache.http.ProtocolException: Target host is not specified
    at org.apache.http.impl.conn.DefaultRoutePlanner.determineRoute(DefaultRoutePlanner.java:71)
    at org.apache.http.impl.client.InternalHttpClient.determineRoute(InternalHttpClient.java:125)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)

亚历山大·杜蒙

"Name"在您的目的地属性中提供条目,例如

destinationProps.put("Name", "<some_name>");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用SAP Cloud SDK调用Java客户端内部的绑定函数/动作?

来自分类Dev

如何使用SAP Cloud SDK调用Java客户端内部的绑定函数/动作?

来自分类Dev

SAP Cloud SDK for javascript使用目标

来自分类Dev

使用Cloud SDK定义S4HANA BAPI调用的SCP目的地

来自分类Dev

保护使用SAP Cloud SDK构建的JS应用程序

来自分类Dev

Java VDM生成器不适用于SAP Cloud SDK 3.7.0版的API_SALES_ORDER_SIMULATION_SRV

来自分类Dev

使用SAP Cloud SDK JavaScript的API_BILL_OF_MATERIAL_SRV版本2的MaterialBOMItem的空键字段

来自分类Dev

找到了类com.sap.cloud.sdk.cloudplatform.naming.JndiLookupFacade,但是期望使用接口

来自分类Dev

使用SAP Cloud SDK时如何处理CSFR令牌的需求?

来自分类Dev

是否有使用sap-cloud-sdk for JS与HANA DB连接的本地方法?

来自分类Dev

如何从SAP Cloud SDK中针对JavaScript的DocumentInfoRecord get()调用获取eTag(MetaData)?

来自分类Dev

SAP-Cloud-SDK和SAP cloud-security-xsuaa集成之间的依赖关系冲突

来自分类Dev

SAP Cloud SDK春季安全性JARS

来自分类Dev

在Cloud Dataflow中使用Beam SDK

来自分类Dev

VDM产生在SAP云SDK使用Java SFSF:生成的URI是错误的

来自分类Dev

VDM产生在SAP云SDK使用Java SFSF:“无法转换成响应ODataFeed””

来自分类Dev

无法启动使用Cloud SDK库的应用程序调用Workflow Rest API

来自分类Dev

如何使用Couchbase Java SDK 3使用不同的端口

来自分类Dev

SAP Cloud SDK JavaScript:带有位置ID的onPremise目标没有CSRF令牌

来自分类Dev

SAP Cloud SDK VDM Generator是否正确处理EDMX注释?

来自分类Dev

SAP Cloud SDK VDM中odatav2的电子标签处理

来自分类Dev

SAP Cloud SDK for Javascript:预交付的OData服务VS自生成客户端之间的区别

来自分类Dev

Principal Propagation在最新版本的SAP Cloud SDK中不起作用

来自分类Dev

SAP Cloud SDK中的根本原因和异常传播

来自分类Dev

SAP Cloud SDK JavaScript URL编码ODATA过滤器(API_PRODUCT_SRV)

来自分类Dev

如何从Cloud SDK ping Sap S4服务端点?

来自分类Dev

SAP Cloud Platform SDK for Android-在Mac上安装时找不到Android Studio

来自分类Dev

通过 SDK UserAccesor API 在 SAP Cloud Foundry 应用程序中捕获 IDP 用户属性

来自分类Dev

从Admin SDK调用Firebase Callable Cloud函数功能

Related 相关文章

  1. 1

    如何使用SAP Cloud SDK调用Java客户端内部的绑定函数/动作?

  2. 2

    如何使用SAP Cloud SDK调用Java客户端内部的绑定函数/动作?

  3. 3

    SAP Cloud SDK for javascript使用目标

  4. 4

    使用Cloud SDK定义S4HANA BAPI调用的SCP目的地

  5. 5

    保护使用SAP Cloud SDK构建的JS应用程序

  6. 6

    Java VDM生成器不适用于SAP Cloud SDK 3.7.0版的API_SALES_ORDER_SIMULATION_SRV

  7. 7

    使用SAP Cloud SDK JavaScript的API_BILL_OF_MATERIAL_SRV版本2的MaterialBOMItem的空键字段

  8. 8

    找到了类com.sap.cloud.sdk.cloudplatform.naming.JndiLookupFacade,但是期望使用接口

  9. 9

    使用SAP Cloud SDK时如何处理CSFR令牌的需求?

  10. 10

    是否有使用sap-cloud-sdk for JS与HANA DB连接的本地方法?

  11. 11

    如何从SAP Cloud SDK中针对JavaScript的DocumentInfoRecord get()调用获取eTag(MetaData)?

  12. 12

    SAP-Cloud-SDK和SAP cloud-security-xsuaa集成之间的依赖关系冲突

  13. 13

    SAP Cloud SDK春季安全性JARS

  14. 14

    在Cloud Dataflow中使用Beam SDK

  15. 15

    VDM产生在SAP云SDK使用Java SFSF:生成的URI是错误的

  16. 16

    VDM产生在SAP云SDK使用Java SFSF:“无法转换成响应ODataFeed””

  17. 17

    无法启动使用Cloud SDK库的应用程序调用Workflow Rest API

  18. 18

    如何使用Couchbase Java SDK 3使用不同的端口

  19. 19

    SAP Cloud SDK JavaScript:带有位置ID的onPremise目标没有CSRF令牌

  20. 20

    SAP Cloud SDK VDM Generator是否正确处理EDMX注释?

  21. 21

    SAP Cloud SDK VDM中odatav2的电子标签处理

  22. 22

    SAP Cloud SDK for Javascript:预交付的OData服务VS自生成客户端之间的区别

  23. 23

    Principal Propagation在最新版本的SAP Cloud SDK中不起作用

  24. 24

    SAP Cloud SDK中的根本原因和异常传播

  25. 25

    SAP Cloud SDK JavaScript URL编码ODATA过滤器(API_PRODUCT_SRV)

  26. 26

    如何从Cloud SDK ping Sap S4服务端点?

  27. 27

    SAP Cloud Platform SDK for Android-在Mac上安装时找不到Android Studio

  28. 28

    通过 SDK UserAccesor API 在 SAP Cloud Foundry 应用程序中捕获 IDP 用户属性

  29. 29

    从Admin SDK调用Firebase Callable Cloud函数功能

热门标签

归档