cancel
Showing results for 
Search instead for 
Did you mean: 

Generate strongly typed java Odata client using a custom service ?

osaid920
Explorer
0 Kudos

Hello experts

Following this guide : https://sap.github.io/cloud-sdk/docs/java/v5/features/odata/vdm-generator

and using the Maven plugin, I was able to generate strongly typed Odata clients for SAP services such as : MM_IM_MANAGER_OVP_FILTER_SRV

Now I am trying to generate a typed Odata client for a service I made in S/4Hana ( ZZ_PAYMENTRECEIPTS_SRV ), after getting the metadata for the service and creating the edmx file, the plugin doesn't generate any files at all

Is there some kind of configurations that must be made in S/4Hana ??

gregorw
Active Contributor

Do you see any error messages when creating the client?

osaid920
Explorer
0 Kudos

Hello Mr Wolf

I didn't notice the errors at first, I got two errors

[WARNING] Error in file PaymentRecieptManager.edmx; unable to generate VDM classes. The file will be skipped and generation continues for the next file.

com.sap.cloud.sdk.datamodel.odata.generator.ODataGeneratorReadException: Parsing of the metadata file failed. Please check that the metadata file is valid and belongs to an OData Version 2.0 service.
.......
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.olingo.odata2.api.edm.EdmSimpleTypeKind.Float

View Entire Topic
0 Kudos

According to OData v2 standard[1] and v4 standard[2] there is no "Float" value type for entity properties. Please approach the service maintainers to define a correct service specification.

Alternatively you can change the EDMX file yourself manually, by replacing "Float" with a proper type.

[1] Overview (OData Version 2.0) · OData - the Best Way to REST

[2] OData Common Schema Definition Language (CSDL) JSON Representation Version 4.01 (oasis-open.org)