点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我目前在POC上工作,我需要使用Java从云应用程序在S/4HANA内部部署中调用BAPI。 为此,我正在使用SAP Cloud SDK。
对于初始设置,我遵循以下步骤: https://developers.sap.com/ tutorials/s4sdk-setup.html
我正在尝试从我的应用程序中调用 BAPI_COSTCENTER_GETLIST1
。 这是代码段:
最终BapiRequestResult resultGetCostCenters = new BapiRequest(" BAPI_COSTCENTER_GETLIST1") .withExporting(" CONTROLLINGAREA"," BAPI0012_GEN-CO_AREA"," 0001") .withTable(" COSTCENTERLIST"," BAPI0012_CCLIST")。end() .withTableAsReturn(" BAPIRET2") .execute(目的地);
这里是 destination
变量的声明:
MapdestinationProps =新的HashMap (); destinationProps.put(" URL"," "); destinationProps.put(" Type"," HTTP"); destinationProps.put(" Password"," "); destinationProps.put(" Authentication"," BasicAuthentication"); destinationProps.put(" User"," "); final Destination destination =新的DefaultDestination(destinationProps);
但是从 execute()
开始,抛出了一个异常,该异常表示 java.util.NoSuchElementException:没有值
。
这是完整的堆栈跟踪:
java.util.NoSuchElementException:不存在任何值 在io.vavr.control.Option $ None.get(Option.java:526) 在com.sap.cloud.sdk.s4hana.connectivity.rfc.SoapTransaction.before(SoapTransaction.java:56) 在com.sap.cloud.sdk.s4hana.connectivity.rfc.RemoteFunctionRequestExecutor.execute(RemoteFunctionRequestExecutor.java:43) 在com.sap.cloud.sdk.s4hana.connectivity.rfc.BapiRequest.execute(BapiRequest.java:78) 在com.sap.csc.CostCenterCreationServlet.retrieveCostCenterList(CostCenterCreationServlet.java:73) 在com.sap.csc.CostCenterCreationServlet.doGet(CostCenterCreationServlet.java:39) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:634) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.lambda $ doFilter $ 1(RequestAccessorFilter.java:71) 在com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.lambda $ execute $ 0(AbstractThreadContextExecutor.java:317) 在com.sap.cloud.sdk.cloudplatform.thread.ThreadContextCallable.call(ThreadContextCallable.java:247) 在com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.execute(AbstractThreadContextExecutor.java:319) 在com.sap.cloud.sdk.cloudplatform.servlet.RequestAccessorFilter.doFilter(RequestAccessorFilter.java:71) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在com.sap.cloud.sdk.cloudplatform.security.servlet.HttpCachingHeaderFilter.doFilter(HttpCachingHeaderFilter.java:80) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter.doFilter(HttpSecurityHeadersFilter.java:41) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在org.apache.catalina.filters.RestCsrfPreventionFilter.doFilter(RestCsrfPreventionFilter.java:113) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528) 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 在org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 在org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) 在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在org.apache.coyote.AbstractProtocol $ ConnectionHandler.process(AbstractProtocol.java:810) 在org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1500) 在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 在java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 在java.base/java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:628) 在org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run(TaskThread.java:61) 在java.base/java.lang.Thread.run(Thread.java:835)
我认为我缺少一些非常基本的东西。 或许我做错了。 我找不到有关此主题的任何有据可查的教程。 所以请纠正我我要去哪里。
谢谢。
(SAP Cloud SDK概述页面- https://help .sap.com/doc/0786ec6134c04c9bbafec959b6b737de/1.0/en-US/index.html )
请在目标属性中提供"名称"条目,例如
一周热门 更多>