Hi Widson,
The articles you have linked to refer to the Service Brokers for REST and OData, this is not what I am asking about, in 4.7 K2 had the ability to expose SmartObjects through REST or WCF services:
https://help.k2.com/onlinetraining/tutorials/default.htm#Resources/Projects/SmartObjectRuntimeAPI/SmORestService.htm
Meaning that you could access a SmartObject created in K2 designer via the SmartObjectServices URL:
https://k2.denallix.com:8888/SmartObjectServices/endpoints/endpoints.xml
The above service would allow you to execute CRUD functionality on SmartObjects from external applications.
This facility has been removed or set as a legacy service.
K2 has replaced this with the OData functionality
Configuring the SmartObject OData API
This OData API does not allow me to execute CRUD functionality. I can retrieve lists and use those lists in Excel or PowerBI but thats not my requirement, we have external systems that need to be able to interact with K2 via REST, and this is no longer supported.
Kind regards,
Helgard Wagener
Hi Hello123
Thanks for the post on the community, After reviewing the configuration on a K2 5 environment, it seems that this legacy functionality is still working as expected but only if you upgrade from 4.7 to 5 , on an Out of the box K2 5 installation this functionality is deprecated.
Here is my configuration in the K2HostServer.config.exe
<smoServices enableEndpoints="true" enableEvents="true" enableCrossDomainPolicy="false" specialCharacterReplacement="_" scheme="http" server="dlx.denallix.com" serviceRoot="SmartObjectServices" port="8888">
<wcf binding="wsHttpBinding" bindingConfiguration="wsHttpBinding+Windows" />
<rest binding="webHttpBinding" bindingConfiguration="webHttpBinding+Windows" />
<managedEndpoints>
<static>
<endpoints />
</static>
<excluded all="false" />
</managedEndpoints>
</smoServices>
Hi Heinrich,
Thanks for the reply, this is a clean 5.2 install.
I understand that the functionality has been deprecated but can someone please tell me what has replaced it and how do I expose smart objects to external applications without writing custom services (ASP.NET WebAPI) to expose smart objects?
All the smart objects are SmartBox smart objects and short of writing a web api or some other serivce there is no way to interact with the smart object.
I understand its been deprecated, and OData has been put in its place but the OData documentation is so far from adequate that it makes no mention of whether it supports CRUD functionality, I have tried using the OData services to expose smart objects and execute a "create" (POST) method but no dice.
The customer doesn't want a custom code implementation (ASP.Net WebAPI etc) in their environment the whole reason they went with K2 is because they don't have to write code in order to have advanced funcationality.