Skip to main content

Json data, using GraphQl connector, return an error.

  • May 15, 2025
  • 1 reply
  • 5 views

I need some help retrieving JSON data via GraphQl.

When testing the connection in TimeXtender, I got a "Connection OK" message.
After Synchronizing Data Source in TimeXtender an error message is displayed : 
  System.Data.CData.GraphQL.GraphQLDataReader ExecuteDataReader(System.Data.CommandBehavior)
  [500] Could not execute the specified command: The defined query is null. : "UserViews"."query"
  System.Data.CData.GraphQL.GraphQLDataReader ExecuteDataReader(System.Data.CommandBehavior)
  [500] Could not execute the specified command: The defined query is null. : "UserViews"."variables"

==========================================================================================================================
We received the following connection string from our IT department
--------------------------------------------------------------------------------------------------------------------------
curl --location 'https://xxxxxxxxxx.com/um/users/graphql' \
--header 'accept: */*' \
--header 'Referer: http://localhost:7000/um' \
--header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--data '{"query":"query ModifiedUsers($lastCheck: String!, $from: Int = 0, $size: Int = 20) {modifiedUsers(lastCheck: $lastCheck, from: $from, size: $size)\r\n{\r\n        users {\r\n                 id\r\n                 login\r\n                 createdBy\r\n                 updatedBy\r\n                 created\r\n                 updated\r\n                 principalADName\r\n                 systemAccount\r\n                 authType\r\n                 userDetail {\r\n                     firstName\r\n                     lastName\r\n                     email\r\n                     language {\r\n                          id\r\n                          name            }\r\n                     country {  \r\n                          id\r\n                          name\r\n                     }\r\n                 }\r\n                 userApplicationAttributesValues {\r\n                    userApplicationAttributeId\r\n                    value\r\n                 }\r\n                 authorizations {\r\n                    applicationInstance {\r\n                            id\r\n                            name\r\n                    }\r\n                    applicationHierarchies {\r\n                        applicationHierarchy {\r\n                            id\r\n                            label\r\n                                            }\r\n                    attributeValues {\r\n                        id\r\n                        value\r\n                        valueName\r\n                        parentId\r\n                        deleted\r\n                    }\r\n                    }\r\n\r\n                  }\r\n                 }, total\r\n                 }\r\n                 }\r\n","variables":{"lastCheck":"2025-04-01T10:15:30Z","from":0,"size":10}}'

==========================================================================================================================
TimeXtender 20.10.52.64 (on prem)
--------------------------------------------------------------------------------------------------------------------------
Connector:
CData ADO.NET Provider for GraphQl 2023 (23.0.8669.0)

Settings:
URL: 
  https://xxxxxxxxxx.com/um/users/graphql
Custom headers: 
  accept: */*
  Referer: http://localhost:7000/um
  User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36
  content-type: application/json
  Authorization: Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
User Defined Views:
  F:\umUser-Agent.json
    {"query":"query ModifiedUsers($lastCheck: String!, $from: Int = 0, $size: Int = 20) {\n  modifiedUsers(lastCheck: $lastCheck, from: $from, size: $size) {\n    users {\n      id\n      login\n      createdBy\n      updatedBy\n      created\n      updated\n      principalADName\n      systemAccount\n      authType\n      userDetail {\n        firstName\n        lastName\n        email\n        language {\n          id\n          name\n        }\n        country {\n          id\n          name\n        }\n      }\n      userApplicationAttributesValues {\n        userApplicationAttributeId\n        value\n      }\n      authorizations {\n        applicationInstance {\n          id\n          name\n        }\n        applicationHierarchies {\n          applicationHierarchy {\n            id\n            label\n          }\n          attributeValues {\n            id\n            value\n            valueName\n            parentId\n            deleted\n          }\n        }\n      }\n    }\n    total\n  }\n}","variables":"{\n  \"lastCheck\": \"2025-02-04T17:10:09Z\",\n  \"from\": 0,\n  \"size\": 10\n}"}

==========================================================================================================================
In Bruno the connection can be setup and the data can be retrieved from the system without errors.
--------------------------------------------------------------------------------------------------------------------------
Query:
  query ModifiedUsers($lastCheck: String!, $from: Int = 0, $size: Int = 20) {
    modifiedUsers(lastCheck: $lastCheck, from: $from, size: $size) {
      users {
        id
        login
        createdBy
        updatedBy
        created
        updated
        principalADName
        systemAccount
        authType
        userDetail {
          firstName
          lastName
          email
          language {
            id
            name
          }
          country {
            id
            name
          }
        }
        userApplicationAttributesValues {
          userApplicationAttributeId
          value
        }
        authorizations {
          applicationInstance {
            id
            name
          }
          applicationHierarchies {
            applicationHierarchy {
              id
              label
            }
            attributeValues {
              id
              value
              valueName
              parentId
             deleted
            }
          }
        }
      }
      total
    }
  }

Variables
  {
    "lastCheck": "2025-02-04T17:10:09Z",
    "from": 0,
    "size": 10
  }

Headers
--header 'accept: */*'
--header 'Referer: http://localhost:7000/um'
--header 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36'
--header 'content-type: application/json'
--header 'Authorization: Bearer xxxxxxxxxxxxxxx
--------------------------------------------------------------------------------------------------------------------------

Can somebody advise, please?
 

 

1 reply

Thomas Lind
Community Manager
Forum|alt.badge.img+5
  • Community Manager
  • 1091 replies
  • May 26, 2025

Hi ​@Joop van der Linden 

Would you be able to try this setup in our newer Enhanced data sources.

I assume the TX REST data source can run the GraphQL query to return the expected result.

You will need to upgrade to gain these data sources, though.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings