Showing results for 
Search instead for 
Did you mean: 
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Did you know you can set a signature that will be added to all your posts? Set it here! X

Example of How to Create a Remote Service that Takes an InfoTable as a Parameter Using the C SDK

No ratings

/* Define a DataShape used in an InfoTable Parameter for this service call */
twDataShape* sampleInfoTableAsParameterDs = twDataShape_Create(twDataShapeEntry_Create("ColumnA",NO_DESCRIPTION,TW_STRING));





   /* Define Input Parameter that is an InfoTable of Shape SampleInfoTableAsParameterDataShape */
twDataShapeEntry* infoTableDsEntry = twDataShapeEntry_Create("itParam",NULL,TW_INFOTABLE);

twDataShapeEntry_AddAspect(infoTableDsEntry, "dataShape", twPrimitive_CreateFromString("SampleInfoTableAsParameterDataShape", TRUE));

   twDataShape* inputParametersDefinitionDs = twDataShape_Create(infoTableDsEntry);


/* Register remote function */

  inputParametersDefinitionDs, TW_NOTHING, NULL, PlatformCallsServiceWithMultiRowInfoTableServiceImpl, NULL);

/* Note that you will have to manually create the datashape in ThingWorx before attempting to add this remote service to your Thing. */


This came up as the result of a customer question. It is easy to specify that a generic InfoTable is the type of a parameter. What is not so straightforward is knowing that you have to create and name the datashape for that InfoTable and then create an aspect called "dataShape" on the parameter list DataShape entry to assign that datashape to the InfoTable parameter.

Version history
Last update:
‎Jun 27, 2017 01:20 PM
Updated by:
Labels (3)