Have you checked the debug output of the c application?
Here is a simple example how to call a SteamSensors service named "CountDataCollectionTasks"
...
// in void dataCollectionTask of SteamSensor example
int res = 0;
twInfoTable * values = NULL;
twInfoTable * result = NULL;
values = twInfoTable_Create(twDataShape_Create(twDataShapeEntry_Create("values", NULL, TW_INFOTABLE)));
res = twApi_InvokeService(TW_THING, thingName, "CountDataCollectionTasks", values, &result, -1, FALSE);
TW_LOG(TW_INFO, "invokeService: %d", res);
// we are responsible to clean the result
twInfoTable_Delete(values);
twInfoTable_Delete(result);
...
in api/twApi.c is an example how the twApi_PushProperties invokes the "UpdateSubscribedPropertyValues" service of the thing.
Do not forget to create the service in TWX at your Thing.