Custom Rest Connector to my App
I'm a consultant assisting my client with setting up an onsite Sisense. Their main Cubes are pulling from a typical MSSQL server. But I have a requirement to also pull some data down from a Microsoft MVC Web App. So I configured the Custom Rest Connector and when I hard code some values (like a ticket), I can get the connector to correctly pull down tables. But I want the connector to be able to grab the Ticket and use the Ticket when requesting the tables... I've done the testing with PostMan and have an example of how its working.
I'm trying to POST via a Body, and I don't think the JSON is going out correctly... I need the curly brackets to go out in the Body during the POST for the server to parse it correctly
Here is my JSON
{
"Settings": {
"Provider": "rest-mountainbirdcrm",
"DisplayName": "MountainBirdCRM",
"ConnectorAssemblyFileName": "Sisense.Connectors.RestConnector.dll",
"MaxDocs": 100,
"FetchSize": 100000,
"Parameters": { "uri":"https://crm.xxxxxxx.com/Demo" }
},
"Tables": [
{
"Name": "Token",
"Public": "True",
"Schema": "Https",
"Method": "POST",
"Base": "[@Settings.Parameters.uri]",
"Headers": {},
"Path": "Mobile/EmptyKey/Login",
"Body": { "Username": "MyUser", "Password": "", "RememberMe":true },
"DataFormat": "Json",
"DataPath": "data"
},
{
"Name": "account",
"Public": "True",
"Schema": "Https",
"Method": "GET",
"Base": "[@Settings.Parameters.uri]",
"Path": "Mobile/[@Tables.Token.@.Ticket]/ExportAccount",
"Headers": {},
"Body": {},
"DataFormat": "Json",
"DataPath": "data"
},
{
"Name": "contact",
"Public": "True",
"Schema": "Https",
"Method": "GET",
"Base": "[@Settings.Parameters.uri]",
"Path": "Mobile/[@Tables.Token.@.Ticket]/ExportContact",
"Headers": {},
"Body": {},
"DataFormat": "Json",
"DataPath": "data"
},
{
"Name": "communication",
"Schema": "Https",
"Public": "True",
"Method": "GET",
"Base": "[@Settings.Parameters.uri]",
"Path": "Mobile/[@Tables.Token.@.Ticket]/ExportContactCommunication",
"Headers": {},
"Body": {},
"DataFormat": "Json",
"DataPath": "data"
}
]
}
Here is the error from root.log
2018-02-08 15:29:02,654 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.Container.Server.ThriftServer - Thrift server: opened network connection
2018-02-08 15:29:04,943 [244] [NT AUTHORITY\SYSTEM] DEBUG MongodbAdapter - Fetching data
2018-02-08 15:29:04,969 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:04,975 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:04,977 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:04,980 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:04,982 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:04,984 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:04,986 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a rest client : https://crm.xxxxxxxxxx.com/Demo
2018-02-08 15:29:05,008 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a request for resource: Mobile/EmptyKey/Login
2018-02-08 15:29:05,022 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - ExecuteActionAsync - started fetching Tables.Token
2018-02-08 15:29:05,047 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - executing request: https://crm.xxxxxxxxxx.com/Demo/Mobile/EmptyKey/Login
2018-02-08 15:29:05,182 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,185 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,188 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,190 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,192 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,193 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,194 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a rest client : https://crm.xxxxxxxxxx.com/Demo
2018-02-08 15:29:05,196 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,202 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting executable parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,204 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Could not find executable parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,206 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Tables.Token.@.Ticket] value: .
2018-02-08 15:29:05,208 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a request for resource: Mobile//ExportAccount
2018-02-08 15:29:05,210 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - ExecuteActionAsync - started fetching Tables.account
2018-02-08 15:29:05,212 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - executing request: https://crm.xxxxxxxxxx.com/Demo/Mobile//ExportAccount
2018-02-08 15:29:05,219 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,222 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,225 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,226 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,228 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,230 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,232 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a rest client : https://crm.xxxxxxxxxx.com/Demo
2018-02-08 15:29:05,234 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,237 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting executable parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,239 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Could not find executable parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,242 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Tables.Token.@.Ticket] value: .
2018-02-08 15:29:05,245 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a request for resource: Mobile//ExportContact
2018-02-08 15:29:05,247 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - ExecuteActionAsync - started fetching Tables.contact
2018-02-08 15:29:05,249 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - executing request: https://crm.xxxxxxxxxx.com/Demo/Mobile//ExportContact
2018-02-08 15:29:05,256 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,257 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,258 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,259 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,261 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Settings.Parameters.uri] value.
2018-02-08 15:29:05,262 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Settings.Parameters.uri] value: https://crm.xxxxxxxxxx.com/Demo .
2018-02-08 15:29:05,263 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a rest client : https://crm.xxxxxxxxxx.com/Demo
2018-02-08 15:29:05,264 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,265 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Getting executable parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,278 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Could not find executable parameter [@Tables.Token.@.Ticket] value.
2018-02-08 15:29:05,279 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.RestConnector.RestExecutionContext - Got parameter [@Tables.Token.@.Ticket] value: .
2018-02-08 15:29:05,281 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - creating a request for resource: Mobile//ExportContactCommunication
2018-02-08 15:29:05,282 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - ExecuteActionAsync - started fetching Tables.communication
2018-02-08 15:29:05,283 [244] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - executing request: https://crm.xxxxxxxxxx.com/Demo/Mobile//ExportContactCommunication
2018-02-08 15:29:05,431 [142] [NT AUTHORITY\SYSTEM] WARN RestRequestHandler - ExecuteActionAsync : Invalid JSON input ''.
2018-02-08 15:29:05,431 [205] [NT AUTHORITY\SYSTEM] WARN RestRequestHandler - ExecuteActionAsync : Invalid JSON input ''.
2018-02-08 15:29:05,431 [113] [NT AUTHORITY\SYSTEM] WARN RestRequestHandler - ExecuteActionAsync : Invalid JSON input ''.
2018-02-08 15:29:05,438 [142] [NT AUTHORITY\SYSTEM] WARN RestRequestHandler - ExecuteActionAsync : at MongoDB.Bson.IO.JsonScanner.GetNextToken(JsonBuffer buffer)
at MongoDB.Bson.IO.JsonReader.ReadBsonType()
at MongoDB.Bson.IO.BsonReader.GetCurrentBsonType()
at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.EnsureBsonTypeEquals(IBsonReader reader, BsonType bsonType)
at MongoDB.Bson.Serialization.Serializers.BsonValueSerializerBase`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)
at MongoDB.Bson.BsonDocument.Parse(String json)
at Sisense.Connectors.RestConnector.RestRequestHandler.<NextAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<TryExecuteAsync>d__44.MoveNext()
2018-02-08 15:29:05,438 [113] [NT AUTHORITY\SYSTEM] WARN RestRequestHandler - ExecuteActionAsync : at MongoDB.Bson.IO.JsonScanner.GetNextToken(JsonBuffer buffer)
at MongoDB.Bson.IO.JsonReader.ReadBsonType()
at MongoDB.Bson.IO.BsonReader.GetCurrentBsonType()
at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.EnsureBsonTypeEquals(IBsonReader reader, BsonType bsonType)
at MongoDB.Bson.Serialization.Serializers.BsonValueSerializerBase`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)
at MongoDB.Bson.BsonDocument.Parse(String json)
at Sisense.Connectors.RestConnector.RestRequestHandler.<NextAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<TryExecuteAsync>d__44.MoveNext()
2018-02-08 15:29:05,441 [205] [NT AUTHORITY\SYSTEM] WARN RestRequestHandler - ExecuteActionAsync : at MongoDB.Bson.IO.JsonScanner.GetNextToken(JsonBuffer buffer)
at MongoDB.Bson.IO.JsonReader.ReadBsonType()
at MongoDB.Bson.IO.BsonReader.GetCurrentBsonType()
at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.EnsureBsonTypeEquals(IBsonReader reader, BsonType bsonType)
at MongoDB.Bson.Serialization.Serializers.BsonValueSerializerBase`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)
at MongoDB.Bson.BsonDocument.Parse(String json)
at Sisense.Connectors.RestConnector.RestRequestHandler.<NextAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<TryExecuteAsync>d__44.MoveNext()
2018-02-08 15:29:05,450 [142] [NT AUTHORITY\SYSTEM] ERROR MongodbAdapter - Error fetching data:
2018-02-08 15:29:05,455 [142] [NT AUTHORITY\SYSTEM] ERROR MongodbAdapter - System.FormatException: Invalid JSON input ''.
at MongoDB.Bson.IO.JsonScanner.GetNextToken(JsonBuffer buffer)
at MongoDB.Bson.IO.JsonReader.ReadBsonType()
at MongoDB.Bson.IO.BsonReader.GetCurrentBsonType()
at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.EnsureBsonTypeEquals(IBsonReader reader, BsonType bsonType)
at MongoDB.Bson.Serialization.Serializers.BsonValueSerializerBase`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)
at MongoDB.Bson.BsonDocument.Parse(String json)
at Sisense.Connectors.RestConnector.RestRequestHandler.<NextAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<TryExecuteAsync>d__44.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<ExecuteActionAsync>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.MongodbAdapter.<FetchTableDataToMongoDb>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.MongodbAdapter.<FetchRestDataToMongoDb>d__20.MoveNext()
2018-02-08 15:29:05,456 [324] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - ExecuteActionAsync: Tables.Token, stopped, retreived 0 document(s), totally retreived 0 document(s), hasMore = False
2018-02-08 15:29:05,466 [142] [NT AUTHORITY\SYSTEM] ERROR MongodbAdapter - Error fetching data:
2018-02-08 15:29:05,472 [142] [NT AUTHORITY\SYSTEM] ERROR MongodbAdapter - System.FormatException: Invalid JSON input ''.
at MongoDB.Bson.IO.JsonScanner.GetNextToken(JsonBuffer buffer)
at MongoDB.Bson.IO.JsonReader.ReadBsonType()
at MongoDB.Bson.IO.BsonReader.GetCurrentBsonType()
at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.EnsureBsonTypeEquals(IBsonReader reader, BsonType bsonType)
at MongoDB.Bson.Serialization.Serializers.BsonValueSerializerBase`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)
at MongoDB.Bson.BsonDocument.Parse(String json)
at Sisense.Connectors.RestConnector.RestRequestHandler.<NextAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<TryExecuteAsync>d__44.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<ExecuteActionAsync>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.MongodbAdapter.<FetchTableDataToMongoDb>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.MongodbAdapter.<FetchRestDataToMongoDb>d__20.MoveNext()
2018-02-08 15:29:05,477 [142] [NT AUTHORITY\SYSTEM] ERROR MongodbAdapter - Error fetching data:
2018-02-08 15:29:05,481 [142] [NT AUTHORITY\SYSTEM] ERROR MongodbAdapter - System.FormatException: Invalid JSON input ''.
at MongoDB.Bson.IO.JsonScanner.GetNextToken(JsonBuffer buffer)
at MongoDB.Bson.IO.JsonReader.ReadBsonType()
at MongoDB.Bson.IO.BsonReader.GetCurrentBsonType()
at MongoDB.Bson.Serialization.Serializers.SerializerBase`1.EnsureBsonTypeEquals(IBsonReader reader, BsonType bsonType)
at MongoDB.Bson.Serialization.Serializers.BsonValueSerializerBase`1.Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
at MongoDB.Bson.Serialization.IBsonSerializerExtensions.Deserialize[TValue](IBsonSerializer`1 serializer, BsonDeserializationContext context)
at MongoDB.Bson.BsonDocument.Parse(String json)
at Sisense.Connectors.RestConnector.RestRequestHandler.<NextAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<TryExecuteAsync>d__44.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.RestRequestHandler.<ExecuteActionAsync>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.MongodbAdapter.<FetchTableDataToMongoDb>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Sisense.Connectors.RestConnector.MongodbAdapter.<FetchRestDataToMongoDb>d__20.MoveNext()
2018-02-08 15:29:05,486 [142] [NT AUTHORITY\SYSTEM] DEBUG MongodbAdapter - Data Fetched False
2018-02-08 15:29:05,493 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.Container.Server.AppDomainConnector.DataConnectorProxy - DataConnectorProxy is closing.
2018-02-08 15:29:05,497 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.Container.Server.AppDomainConnector.DataConnectorProxy - DataConnectorProxy is disposed.
2018-02-08 15:29:05,502 [244] [NT AUTHORITY\SYSTEM] WARN Sisense.Connectors.Container.Server.ThriftServer - ThriftServer - Error openning connection for metadata connector rest-mountainbirdcrm
2018-02-08 15:29:05,505 [244] [NT AUTHORITY\SYSTEM] WARN Sisense.Connectors.Container.Server.ThriftServer - ThriftServer - Error message : Invalid JSON input ''.
2018-02-08 15:29:05,508 [244] [NT AUTHORITY\SYSTEM] WARN Sisense.Connectors.Container.Server.ThriftServer - ThriftServer - Error details : at Sisense.Connectors.Container.Server.AppDomainConnector.DataConnectorProxy.OpenConnection[T](ConnectorDescriptor connDescriptor, ConnectionParameters connectionParameters, Func`3 fun) in C:\BuildAgent\work\67b1243b0bdd8bfa\clrcontainer\Sisense.Connectors.Container.Server\AppDomainConnector\DataConnectorProxy.cs:line 166
at Sisense.Connectors.Container.Server.AppDomainConnector.DataConnectorProxy.OpenConnection(ConnectorDescriptor connDescriptor, ConnectionParameters connectionParameters, Action`2 action) in C:\BuildAgent\work\67b1243b0bdd8bfa\clrcontainer\Sisense.Connectors.Container.Server\AppDomainConnector\DataConnectorProxy.cs:line 114
at Sisense.Connectors.Container.Server.AppDomainConnector.DataConnectorProxy.OpenMetadata(ConnectorDescriptor connDescriptor, ConnectionParameters connectionParameters)
at Sisense.Connectors.Container.Server.AppDomainConnector.DataConnectorWrapper.OpenMetadata(ConnectionParameters parameters) in C:\BuildAgent\work\67b1243b0bdd8bfa\clrcontainer\Sisense.Connectors.Container.Server\AppDomainConnector\DataConnectorWrapper.cs:line 233
at Sisense.Connectors.Container.Server.ThriftServer.CreateMetadataContext(String sessionId, String provider, ConnectionParameters connectionParameters, IReadOnlyDictionary`2 logContext) in C:\BuildAgent\work\67b1243b0bdd8bfa\clrcontainer\Sisense.Connectors.Container.Server\ThriftServer.cs:line 525
2018-02-08 15:29:05,512 [244] [NT AUTHORITY\SYSTEM] DEBUG Sisense.Connectors.Container.Server.ThriftServer - Thrift server: closed network connection
Here is the PostMan showing a login with the ticket results
-
Hi Jason,
I do not think you can use syntax like that - "Path": "Mobile/[@Tables.Token.@.Ticket]/ExportAccount", you don't have Ticket parameter defined anywhere. What's more Sisense, I think, will not allow you to use array in path parameter. But as Oxana suggested it is better to run it by support.
Regards,
Michał
-
I am trying to follow the instructions in the online documentation for referencing a value returned from "table A" for use in in a "table B" call, similar to this documentation. I'm sure I'm not capturing and referencing the Ticket value correctly...
https://developer.sisense.com/pages/viewpage.action?pageId=3702834
-
It's like the first table request for the Ticket isn't returning anything. Maybe because the Body isn't formed correctly to match the MVC class on the server. The server is looking for {"Username":"Me","Password":"pass"}. But without using something like WireShark, I don't know if that is being passed correctly with the body tag
2018-02-09 14:03:34,528 [198] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - ExecuteActionAsync: Tables.Token, stopped, retreived 0 document(s), totally retreived 0 document(s), hasMore = False
2018-02-09 14:03:34,528 [120] [NT AUTHORITY\SYSTEM] DEBUG RestRequestHandler - ExecuteActionAsync: Tables.Token, stopped, retreived 0 document(s), totally retreived 0 document(s), hasMore = False -
Hi Jason,
I did a compare between my servers that it worked on and servers it didn't. The missing part was Sisense MongoDB OCBC Driver. When i installed this on the server with the issue/error it worked straight away,
Sisense MongoDB ODBC Driver x64 v2.2.1.6 downloaded from here:
https://documentation.sisense.com/latest/managing-data/connectors/mongo-db.htm
Not sure why it needs this as it wasn't documented anywhere when setting up custom rest connector. I had it already installed on some servers for something else. It may not work for you and as you have developed alternative it may not be relevant but thought you might like to know.
Conor
Please sign in to leave a comment.
Comments
8 comments