For OData service creation from SOAP datasource it seems both HCP and HCI can be used. HCI provides tooling and does the job without coding while HCP requires writing application for same purpose but gives more control over service implementation. Which approach is recommended for this scenario?
This would really depend on the context you are doing this. For example if the scenario is enterprise application integration where you are connecting two enterprise processes - probably best to go with HCI. IF you are working on an application where you already have a significant codebase and OData svc is going to be part of this code - then going HCP route might be a better choice.