Add KEPServer Tags by Service, Invalid Property Value Sent
First formalities:
I'm using Thingworx 7.1 with the KEPServerEX extension to connect to a KEPServer instance. Sorry this is a long post, but giving as much info as possible!
I've created a mashup to browse the groups and tags available on a KEPServerEX instance using the given 'BrowseItems' and 'BrowseGroups' services available with the 'RemoteKEPServerEXThing' Thing Template. I've bound 'All Data' from their returns to 2 grid widgets, 1 for BrowseGroups and 1 for BrowseItems. I created a helper Thing to assist with navigation on the mashup and whatever other services I need to write. I know that this functionality is working.
I want to add functionality that allows you to multiselect tags from the BrowseItems grid and use the AddItems service to attach them to my KEPServer Thing in Thingworx.

Figure: Left grid displays the results of 'BrowseGroups', Right grid displays the results of 'BrowseItems'.
For some reason, I'm not able to directly use Connections in mashup builder to connect data from 'SelectedRow(s)' from BrowseItems to the 'Parameters' for AddItems.
So I've tried writing a service on the helper Thing to accomplish this. My problem is that although running the service seems to execute as it's supposed to, the Application log is flooded with Errors that say:
An Invalid Property Value Was Sent To [KEPServerEXthing Property: [null]
โwhere KEPServerEXthing is the Thing that the AddItems service is executed on. If I go into "Manage Bindings" in Properties on the KEP Thing and add the tags as Properties, it won't let me save the KEP Thing and gives this error:

Then if I go into Manage Bindings again (without cancelling the Thing edit) multiple "undefined" rows show up.

It seems like maybe there's some sort of ghost entities messing with things. This is the second time I've tried getting this to work; I just took a different approach, but it's the same problem I had at first.
Here's the code:
INPUTS:
KEPThingName - Type: THINGNAME (This is the server to add tags to)
TagRows - Type: INFOTABLE (This should be the Selected Row(s) from BrowseItems), Datashape: KEPItems (I believe this is the datashape for the results of BrowseItems)
//Create Info Table for new tags
var params = {
infoTableName : "InfoTable",
dataShapeName : "KEPAddItems"
};
// CreateInfoTableFromDataShape(infoTableName:STRING("InfoTable"), dataShapeName:STRING):INFOTABLE(KEPAddItems)
var addTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
//Iterate input rows of tags to create entry for each. Entries will be put into Info Table for AddItems().
for(x in TagRows.rows){
// KEPAddItems entry object
var newEntry = new Object();
newEntry.ReadOnly = TagRows.ReadOnly; // BOOLEAN
newEntry.ScanRateMS = undefined; // INTEGER
newEntry.Description = TagRows.Description; // STRING
newEntry.BaseType = TagRows.BaseType; // STRING
newEntry.SourceType = TagRows.SourceType; // STRING
newEntry.Persistent = false; // BOOLEAN
newEntry.Logged = false; // BOOLEAN
newEntry.Source = TagRows.Source; // STRING
newEntry.Name = TagRows.Name; // STRING
//Add entry to new tags Info Table
addTable.AddRow(newEntry);
}
var addParams = {
items: addTable /* INFOTABLE */
};
// result: INFOTABLE dataShape: KEPAddItemResult
var result = Things[KEPThingName].AddItems(addParams);
I'm not sure if it has something to do with the fact that I'm creating an info table? Is there a way to destroy it or is garbage collection supposed to take care of it?
This is an odd issue that I want to solve. Any ideas?
Thanks

