使用SAP Cloud SDK 3.18执行BAPI时发生异常

2020-08-16 04:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


这是我先前在 /img/questions/13057648/exception-in-execution-of-bapi-using-sap-cloud-sdk.html 。 我正在尝试使用Java使用SAP Cloud SDK版本3.18调用BAPI。

我已经为此创建了一个Spring Boot应用程序。 下面是我正在使用的代码:

 @RequestMapping(value ="/img/costCenters",方法= RequestMethod.GET,产生=" application/json")
   私有CostCenter getCostCenterDetails()引发RequestExecutionException {

   最终目的地destination = DestinationAccessor.getDestination(" ErpQueryEndpoint");
     最终的BapiRequestResult resultCostCenterDetail = new BapiRequest(" BAPI_COSTCENTER_GETLIST1")
             .withExporting(" CONTROLLINGAREA"," BAPI0012_1-CO_AREA"," 0001")
            //.withExporting("COSTCENTER"," BAPI0012_1-COSTCENTER",selectedCostCenter.getId())
             .withImportingFields(" COSTCENTERDETAIL"," BAPI0012_CCOUTPUTLIST")。end()
             .withTableAsReturn(" BAPIRET2")
             .execute(目的地);
     返回resultCostCenterDetail.get(" COSTCENTERDETAIL")。getAsObject()。as(CostCenter.class);
   } 

我已经在CF和Cloud Connector中创建了RFC目标。 但是,当我尝试执行它时,出现以下错误:

原因:com.sap.cloud.sdk.cloudplatform.thread.exception.ThreadContextExecutionException:org.springframework.web.util.NestedServletException:处理程序派发失败;嵌套异常是java.lang.NoClassDefFoundError:com/sap/conn/jco/JCoException
 在com.sap.cloud.sdk.cloudplatform.servlet的com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.execute(AbstractThreadContextExecutor.java:325)〜[cloudplatform-core-3.18.0.jar:na]处。  RequestAccessorFilter.doFilter(RequestAccessorFilter.java:71)〜[servlet-3.18.0.jar:na] 

我尝试添加jco依赖项,但是maven目标无法执行,因为这些依赖项在maven存储库中不再可用。 您能帮我解决这个问题吗?

此致

Kamalpreet

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


这是我先前在 /img/questions/13057648/exception-in-execution-of-bapi-using-sap-cloud-sdk.html 。 我正在尝试使用Java使用SAP Cloud SDK版本3.18调用BAPI。

我已经为此创建了一个Spring Boot应用程序。 下面是我正在使用的代码:

 @RequestMapping(value ="/img/costCenters",方法= RequestMethod.GET,产生=" application/json")
   私有CostCenter getCostCenterDetails()引发RequestExecutionException {

   最终目的地destination = DestinationAccessor.getDestination(" ErpQueryEndpoint");
     最终的BapiRequestResult resultCostCenterDetail = new BapiRequest(" BAPI_COSTCENTER_GETLIST1")
             .withExporting(" CONTROLLINGAREA"," BAPI0012_1-CO_AREA"," 0001")
            //.withExporting("COSTCENTER"," BAPI0012_1-COSTCENTER",selectedCostCenter.getId())
             .withImportingFields(" COSTCENTERDETAIL"," BAPI0012_CCOUTPUTLIST")。end()
             .withTableAsReturn(" BAPIRET2")
             .execute(目的地);
     返回resultCostCenterDetail.get(" COSTCENTERDETAIL")。getAsObject()。as(CostCenter.class);
   } 

我已经在CF和Cloud Connector中创建了RFC目标。 但是,当我尝试执行它时,出现以下错误:

原因:com.sap.cloud.sdk.cloudplatform.thread.exception.ThreadContextExecutionException:org.springframework.web.util.NestedServletException:处理程序派发失败;嵌套异常是java.lang.NoClassDefFoundError:com/sap/conn/jco/JCoException
 在com.sap.cloud.sdk.cloudplatform.servlet的com.sap.cloud.sdk.cloudplatform.thread.AbstractThreadContextExecutor.execute(AbstractThreadContextExecutor.java:325)〜[cloudplatform-core-3.18.0.jar:na]处。  RequestAccessorFilter.doFilter(RequestAccessorFilter.java:71)〜[servlet-3.18.0.jar:na] 

我尝试添加jco依赖项,但是maven目标无法执行,因为这些依赖项在maven存储库中不再可用。 您能帮我解决这个问题吗?

此致

Kamalpreet

付费偷看设置
发送
4条回答
野沐沐
1楼-- · 2020-08-16 05:05

请仔细阅读Stackoverflow的问题和答案,我想这里会有所启发:
https://stackoverflow.com/questions/61073716/define-scp-destination-for-s4hana-bapi-call-with-cloud -sdk/61120396#61120396

如果不能解决您的问题,请告诉我:)

huskylover
2楼-- · 2020-08-16 05:06

添加到 Marco Dahms 的答案,建议您将SDK更新为ver。 3.21或更高版本。

粗暴的香蕉
3楼-- · 2020-08-16 05:22

Kamalpreet Kaur

请让我们知道这是否解决了您的问题。

最好

Artem

黑丝骑士
4楼-- · 2020-08-16 05:00

我建议按照 JCo产品页面

一周热门 更多>