Hello guys,
We have adTempus 4.0 (4.4.0.17325) server running in our environment. Our C# client dynamically / programmatically connecting to a list of adThempus servers to fetch jobs status. A list of adThempus servers can be changed at any time so we have no entries in our client Web.config to define adThempus servers endpoints, the connections got created programmatically using Scheduler.Connect adThempus API.
Recently in our client logs we noticed these error messages trying to get data from the adTempus server:
"Exception in getting AdTempus jobs: ArcanaDevelopment.adTempus.Shared.ConnectionClosedException: The server connection has failed or has been closed: The maximum message size quota for incoming messages (10240000) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.: The maximum message size quota for incoming messages (10240000) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element. [ADT005166E]"
I checked the API docs and API definitions and cannot find a way to set MaxReceivedMessageSize in the Scheduler.Connect or GetJobMonitorData APIs. Could you please help us to understand where and how we can define this parameters if we are calling AdTempus APIs from C# code?
Code snippet:
using (Scheduler connection = Scheduler.Connect(connectionDescriptor, LoginAuthenticationType.Windows, "", ""))
{
using (DataContext context = connection.NewDataContext())
{
JobMonitorViewFetchOptions fetchOptions = JobMonitorViewFetchOptions.PastInstances;
InstanceQueryParameters queryParameters = new InstanceQueryParameters()
{
FetchOptions = ObjectFetchOptions.FullFetch // Use FullFetch because we are also getting LogMessages. Using StubsOnly is much slower.
};
context.GetJobMonitorData(fetchOptions, queryParameters, startDate, endDate, out DateTime calculatedRangeEnd, ref lastFetchTimeUTC,
out System.Collections.ObjectModel.ReadOnlyCollection<JobExecutionTimes> scheduledExecutions, out ExecutionHistoryItemCollection history);
if (history != null)
{
foreach (var h in history.OrderByDescending(q => q.ExecutionStart))
{..................
}
}
}
}
Thank you,
Boris