Article - CS314646

Passing a Collection type parameter from ThingWorx Platform to Windchill REST API via OData Connector

Modified: 03-Aug-2021   


Applies To

  • Windchill Navigate (formerly ThingWorx Navigate) 1.5.0 to 9.1
  • ThingWorx Platform 8.3 to 9.1

Description

  • Out of the box (OOTB) endpoints are configuring input parameters as Strings incorrectly
  • Passing complex type to Windchill OData API from OData Connector route
  • Need to pass a collection type input parameter on a customized endpoint
  • Unsure about what input parameter Data Type should be used (e.g. String, JSON, Infotable) for value that needs to be a collection in Windchill
  • Data Type to use when a collection value is needed in Windchill
  • How can one pass a collection from ThingWorx to OData API as input?
  • Base Type of String for OData service input does not seem to be correct in ThingWorx
  • Using REST API GetBOPWithInlineNavCriteria(/v3/MfgProcMgmt/ProcessPlans(ID='{ID}'))/PTC.MfgProcMgmt, the parameters type of processPlanNavigtionCriteria and relatedAssemblyNavigationCriteria do not support JSON format with error like below:
    • Your route exchange has failed. Resource Error [Illegal argument for type: PTC.NavCriteria.NavigationCriteria value: OR:wt.filter.NavigationCriteria:#####]"
    • Your route exchange has failed. Service operation failed with status [ - 'ID' can not be mapped as a property or an annotation.]
  • Error in the ThingWorx UI upon running an applicable OData service:
    • Error executing service <Service>. Message :: Your route exchange has failed. Service operation failed [<Windchill URL>)/<OData Endpoint>] with status [ - The parameter '<Parameter>' must not be null.] - See Script Error Log for more details.
This is a printer-friendly version of Article 314646 and may be out of date. For the latest version click CS314646