protected virtual void ProcessWebServiceQuerySource(ScheduledItem scheduledItem, Activity activity, string transactionId) { PartnerIdentity partner = _partnerManager.GetById(scheduledItem.SourceId); if (partner == null) { throw new ArgumentException(string.Format("Invalid partner id \"{0}.\" Could not find partner for scheduled item \"{1}\".", scheduledItem.TargetId, scheduledItem.Name)); } string filePath = Path.Combine(SettingsProvider.TempFolderPath, GetResultFileName(scheduledItem)); using (INodeEndpointClient client = GetNodeClient(partner, activity, scheduledItem.SourceEndpointUser)) { CommonContentType type; try { if (client.Version == EndpointVersionType.EN11) { type = client.Query(null, scheduledItem.SourceRequest, scheduledItem.GetTranformedSourceArgs(), 0, -1, filePath); _transactionManager.SetNetworkIdAndEndpointUserId(transactionId, transactionId, EndpointVersionType.EN11, partner.Url, scheduledItem.SourceRequest, null, null, scheduledItem.SourceEndpointUser); } else { type = client.Query(scheduledItem.SourceFlow, scheduledItem.SourceRequest, scheduledItem.GetTranformedSourceArgs(), 0, -1, filePath); _transactionManager.SetNetworkIdAndEndpointUserId(transactionId, transactionId, EndpointVersionType.EN20, partner.Url, scheduledItem.SourceFlow, scheduledItem.SourceRequest, null, scheduledItem.SourceEndpointUser); } } catch (Exception e) { LogActivityError(activity, "Error returned from node endpoint: \"{0}\"", ExceptionUtils.GetDeepExceptionMessage(e)); throw; } filePath = FileUtils.ChangeFileExtension(filePath, CommonContentAndFormatProvider.GetFileExtension(type)); DocumentManager.AddDocument(transactionId, CommonTransactionStatusCode.Processed, null, filePath); } LogActivity(activity, "Performed Query of partner \"{0}\" at url \"{1}\"", partner.Name, partner.Url); }