Giter VIP home page Giter VIP logo

microsoft / recurring-integrations-scheduler Goto Github PK

View Code? Open in Web Editor NEW
133.0 50.0 60.0 967 KB

Recurring Integrations Scheduler (RIS) is a solution that can be used in file-based integration scenarios for Dynamics 365 Finance and Dynamics 365 Supply Chain Management.

License: Other

C# 98.59% Inno Setup 1.41%
dynamics integration d365 d365fo quartzax operations finance scheduler-service recurring-integrations-scheduler dixf rest ris supply-chain-management package-api

recurring-integrations-scheduler's Introduction

Recurring Integrations Scheduler RIS

This tool helps to quickly set up and orchestrate file based integration scenarios to and from Dynamics 365 Finance and Dynamics 365 Supply Chain Management. We see this tool to be a good implementation accelerator for use during the implementation phase of the project for data migration, ad hoc file integration needs and to be used as a proof of concept validator among others.

Recurring Integrations Scheduler Service

Recurring Integrations Scheduler Service is a Windows service that can trigger many integration jobs at predefined schedule. You can schedule jobs and set their recurrence in a very similar way to well-known D365FO batch framework.

There are six types of integration jobs you can use: Import, Export and Execution monitor as well as Upload, Download and Processing monitor. First three use Data management package REST API. Three other use Recurring Integrations REST API and recurring data jobs. More details in wiki.

Single Recurring Integrations Scheduler service can work with multiple D365FO instances even within different tenants. This enables both production and implementation scenarios where you need to work with multiple non-prod instances. Recurring Integrations Scheduler logs important events to Windows Event Log. It is possible to increase its logging level to log every step for debugging purposes and to trace possible problems.

Recurring Integrations Scheduler App

Recurring Integrations Scheduler App is a win32 application that can be used as a configuration front-end for Recurring Integrations Scheduler service or as a completely independent, interactive application used to upload or download files to and from Dynamics 365 Finance or SCM without Recurring Integrations Scheduler Service. It is possible thanks to internal, private scheduler embedded in Recurring Integrations Scheduler App that works exactly the same way as the Scheduler Service does with one difference - it will stop working once the App is closed.

Installation and configuration

Please check https://github.com/Microsoft/Recurring-Integrations-Scheduler/wiki

Support

RIS is not officially supported by Microsoft. Please log an issue here on Github if you encounter a bug in RIS.

recurring-integrations-scheduler's People

Contributors

andreashassing avatar arubenis avatar caleblanchard avatar microsoft-github-policy-service[bot] avatar mzade avatar tomekmelissa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

recurring-integrations-scheduler's Issues

Export Job, Event Viewer Error and going to Pause state

Steps to reproduce the problem.

Export jobs , going to Pause state , every now and then
event viewer has following erros

  1. RecurringIntegrationsScheduler.Job.Export - One or more errors occurred. System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object. at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at RecurringIntegrationsScheduler.Job.Export.Execute(IJobExecutionContext context) ---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object. at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()<---

RecurringIntegrationsScheduler.Job.Export - Object reference not set to an instance of an object. System.NullReferenceException: Object reference not set to an instance of an object. at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()

Specifications like the version of RIS and platform and application version of D365FO.

D365FO - platform 9
RIS : 1.0.1.0

Crash when using "Open successful downloads folder" on job

Using the "Open successful downloads folder" action on a job in the RIS client grid causes an unhandled exception error when the folder is inaccessible. This is likely to occur when running the client on a computer other than the computer on which the server runs, while the job is configured to use a local folder path.

Expected behavior and actual behavior.

Actual result: Unhandled exception dialog
Expected result: A non-exception message informing the user that the folder is inaccessible

Steps to reproduce the problem.

Launch the RIS client on a computer which cannot access the configured folders for a job
Connect to the RIS service
Select a job in the jobs grid
Right click the job, click Open successful downloads folder
An unhandled exception occurs when the folder is not accessible

Specifications like the version of RIS and platform and application version of D365FO.

RIS version 1.0.0
D365 July 2017 application, platform 10

Exception stack trace

System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at RecurringIntegrationsScheduler.Forms.MainForm.OpenSuccessfulDownloadsFolderToolStripMenuItem_Click(Object sender, EventArgs e) in C:\Users\<user>\Source\Repos\Recurring-Integrations-Scheduler\Scheduler\Forms\MainForm.cs:line 764 at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Manage Name and extension when download file

Hello,

When I download a file, it is created with or without date according to the settings and the extension is .tmp.

It's possible to manage the name and extension file? And it's possible to put the date information a the end of the name ?

Example today, I download : 2017-11-21_11-25-23-8689-000001-Customers V2.tmp
And I would like CUSU-2017-11-21_11-25-23-8689-000001.txt

I do not have access to the source code to manage this problem.

Thanks!

Setup Example

setup

Upload Job - status: Redirect, reason found

On premise-Platform Update 15

We have the following configured:
2018-08-17_11-27-02

And getting the following exceptions in the event log:

<Data>RecurringIntegrationsScheduler.Job.Upload - Job: Download jobs.Upload Job location. Enqueuing failed for file: C:\temp\RSIData\Input\{FD2A085F-68F2-4C5E-BA53-AA31B89159F5}.zip. Failure response: Status: Redirect, Reason: Found</Data>

And it does appear as though the job picks up the data package but throws it into the "Upload errors" directory with a status file. Although the status file doesn't really contain a good error message....other than
"IsSuccessStatusCode": false

Any help would be appreciated

Import job - missing add schedule button

I am having a weird issue, I have installed the latest version of the tool.

When I do Add import job, I do not get the add schedule and cancel button on the screen. so I am unable to add import jobs and also to exit I have to kill it from task manager.

Any ideas?
addschedule

RecurringIntegrationsScheduler.Job.Import - Job: Import.ajajajaj. Upload failed for file: C:\Users\ajk\Documents\RecurringJobD365\In\Input\testimport.zip. Failure response: Status: BadRequest, Reason: Bad Request

Hi,

I tried to to schedule Add import job(Recommended way) as shown below
(I am able to successfully validate the connection to D365)

I tried providing .zip files in my input folder.
There are multiple issues here after processing.

  1. As per the description given, if data project does not exist, it will create one in D365. but it did not create any data project with the name i provided. sample zip file i used is
    test.zip

  2. when I checked the event viewer, i got below error
    RecurringIntegrationsScheduler.Job.Import - Job: Import.ajajajaj. Upload failed for file: C:\Users\ajk\Documents\RecurringJobD365\In\Input\test.zip. Failure response: Status: BadRequest, Reason: Bad Request

can you please help what is going wrong here

image

Error using upload job

Expected behavior and actual behavior.

Expected customer group record to upload in D365FO but instead file moved into error folder

Steps to reproduce the problem.

Tried any file to upload but same error is coming. I have attached the status file received in error folder.

CustomerGroup-Customer groups_1.txt

Specifications like the version of RIS and platform and application version of D365FO.

RIS version 1.0.0
D365FO - 7.0.1265.23020

Supporting D365 OnPremise?

Has anyone succesfully or partially implemented this with an OnPremise version of D365?
If you have - maby you could elaborate on parts, where you found it tricky?

Jobs go to "Pause" status

At times all my upload jobs go into a Pause status. I need to then resume them to have my files uploaded to the DFO365 instance. Logs state that the file path cannot be found, so am guessing an intermittent loss of network connectivity is causing this. It is random when this happens. I notice there is settings in the RecurringIntegrationsScheduler.Common.dll.config file for "numberofretries" and "delayontetry". Would changing these settings perhaps help me?

Bad request.

I created own setup of RIS is which is of size 1212kb smaller than setup 1447 kb downloaded from GitHub. Is there something wrong ?

###my customized RIS installed successfully. Source code version v.2.3.0.

Export recurring job is working fine.

Import recurring job is throwing following error. I have using recommended job options only.

The description for Event ID 0 from source Recurring Integrations Scheduler cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

RecurringIntegrationsScheduler.Job.Import - Job: Import jobs.Import Customer Groups CSV. Upload failed for file: C:\Integrations\Inbound\Input\Customer groups.csv. Failure response: Status: BadRequest, Reason: Bad Request


i can see status file under C:\Integrations\Inbound\UploadErrors

Error when importing composites entities

Expected behavior and actual behavior.

Expected: Import done successful
Actual: When trying to import a composite entity (vendor invoice journal) an error is showed when the job finish its run
Error message:
A DataTable named 'VendInvoiceJournalEntity' already belongs to this DataSet.
'0' 'Vendor invoice journal' record(s) inserted in staging

Steps to reproduce the problem.

  1. Create an import job with a composite entity like Vendor Invoice Journal.
  2. Run the job.
  3. Error showed in job in Dynamics
    image

Specifications like the version of RIS and platform and application version of D365FO.

Dynamics 365FO: Platform release Update11 (7.0.4679.35180)
Application version: 7.2.11792.56024

RIS version: 1.0.0 and 1.0.1

not able to import data using RIS, export work well

did setup as mentioned in wiki help and able to export the data without any issues. getting attached error while running import job, tried so many times but every time getting same error in event viewer.

do setup import job as mentioned in wiki

platform version of D365FO is PU9.

ris import err
ris import err

"Unexpected error" pop-up window

Problem

image

I get this error window that continues to pop up until I restart the application. Happens when there are >2 jobs in the scheduler and I delete one.

Steps to reproduce the problem.

Create multiple jobs, pause them, and delete one. Then try refreshing the app jobs.

RIS does not uses the original file name to upload to D365FO

Expected behavior and actual behavior.

It is about uploading of files to D365FO by RIS;
Expected behavior is to use the original file name instead of the file name that is set in the Manifest.xml to at least to have an option to choose between using the original file name or the file name from the Manifest.xml

Steps to reproduce the problem.

This happens always when you upload a file using RIS if you use a prepared package template;
The RIS will copy the data file into a copy of the package template and uploads it.

Specifications like the version of RIS and platform and application version of D365FO.

RIS v1.0.1.0 has also this issue

Untrusted connection issues

Cannot establish a connection to AOS using RIS. RIS indicates that the certificate is untrusted for the SSL/TLS connection establishment.
I am running AX7 update 8, and would like to know how to establish a service to service end point communication between the AOS and the client

System.MissingMethodException: method not found: '!!0[] System.Array.Empty()'.

I'm currently using D365 8.0 PU15, I've created a new composite data entity that it's working fine if I process it manually, I've setup the scheduler application but when it process the job an error is thrown, in the event viewer I can see the detail, but I'm not able to see what is the problem:

Quartz.Core.ErrorLogger - Job Import.VIJ_CGC2012 threw an exception.
Quartz.SchedulerException: Job threw an unhandled exception. ---> System.MissingMethodException: Method not found: '!!0[] System.Array.Empty()'.
in RecurringIntegrationsScheduler.Job.Import.Execute(IJobExecutionContext context)
in Quartz.Core.JobRunShell.Run()
--- End of stack trace of internal exception --- [See nested exception: System.MissingMethodException: Method not found: '!!0[] System.Array.Empty()'.
in RecurringIntegrationsScheduler.Job.Import.Execute(IJobExecutionContext context)
in Quartz.Core.JobRunShell.Run()]

The job fails if I create it as a import job, but if I create it as a upload job it works.

I found the problem, it is needed 4.6 .net framework version to run the application, the wiki should be update as it says 4.5 is needed to use the application.

Pre-processing error

Expected behavior and actual behavior.

Import file in D365 staging table.

Steps to reproduce the problem.

Configure AAD, Set native and RIS app Id, and click start to send file to D365.

The problem occurs that with the same configuration on 2 servers. 1 server processes the file and the other doesn't. I have tried looking into Data entity, RIS Data job, AAD native app permissions, and table fields & indexes. I can't seem to understand why does this problem occur.

Recurring-Integrations-Scheduler-Unable to pick/drop the file from input folders for import/export jobs

Expected Behavior:
We are using RIS for scheduling Import/Export Jobs in On-premise environment . The version of D365 FO is 7.3 PU12 .

After scheduling the job in RIS for import it has to pick the file from input folder and do the import for the scheduled frequency and need to create the Data job automatically in D365 FO. Also, for export it has to create a file in desired folder when we use RIS.

Actual Behavior:
Though jobs are added and scheduled for scheduled frequency , files are not picking from the expected folder(Input). the status of the job is initially Blocked and after refreshing the added job goes to Paused mode. The same issue exists in export as well. By observation we found that there is no initiation of the job.

We have installed and provided the required inputs such as validated Parameters Page,folder creations such as Input, PackageTemplate, ProcessingErrors, ProcessingSuccess, UploadErrors, UploadSucess and in Input we have dropped the xlsx file and in Package template we have downloaded the package and drop the complete folder in Package template and scheduled the import job as required.

Please find the document for RIS and D365 version and parameter validation and creation of job in RIS

RISVersionAndD365FOVersion.docx

Export Job

I am on version 8, update 15.

I can not get the export job to work, here are the error

RecurringIntegrationsScheduler.Job.Export - Job: Export jobs.CustImportTest. Download failure. BadRequest
System.Exception: Job: Export jobs.CustImportTest. Download failure. BadRequest
at RecurringIntegrationsScheduler.Job.Export.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__6.MoveNext()

Looking at network.log

System.Net Information: 0 : [16784] ConnectStream#35428172::ConnectStream(Buffered 6141 bytes.)
System.Net Information: 0 : [16784] Associating HttpWebRequest#21815586 with ConnectStream#35428172
System.Net Information: 0 : [16784] Associating HttpWebRequest#21815586 with HttpWebResponse#28624768
System.Net Warning: 0 : [16784] HttpWebRequest#21815586::() - The remote server returned an error: (400) Bad Request.
System.Net Verbose: 0 : [16784] HttpWebRequest#21815586::EndGetResponse()
System.Net Verbose: 0 : [16784] Exiting HttpWebRequest#21815586::EndGetResponse() -> HttpWebResponse#28624768
System.Net.Http Verbose: 0 : [16784] HttpResponseMessage#28951958::.ctor(StatusCode: 400, ReasonPhrase: '')
System.Net.Http Verbose: 0 : [16784] Exiting HttpResponseMessage#28951958::.ctor()
System.Net.Http Information: 0 : [16784] Associating HttpResponseMessage#28951958 with HttpRequestMessage#65266205
System.Net Verbose: 0 : [16784] HttpWebResponse#28624768::GetResponseStream()
System.Net Information: 0 : [16784] ContentLength=6141
System.Net Verbose: 0 : [16784] Exiting HttpWebResponse#28624768::GetResponseStream() -> ConnectStream#35428172
System.Net.Http Verbose: 0 : [16784] StreamContent#51528091::.ctor()
System.Net.Http Verbose: 0 : [16784] Exiting StreamContent#51528091::.ctor()
System.Net.Http Information: 0 : [16784] Associating StreamContent#51528091 with WebExceptionWrapperStream#65777371
System.Net.Http Information: 0 : [16784] Associating HttpResponseMessage#28951958 with StreamContent#51528091
System.Net Verbose: 0 : [16784] ConnectStream#35428172::BeginRead()
System.Net Verbose: 0 : [16784] Exiting ConnectStream#35428172::BeginRead() -> BufferAsyncResult#42344745
System.Net Verbose: 0 : [16784] ConnectStream#35428172::EndRead()
System.Net Verbose: 0 : [16784] Exiting ConnectStream#35428172::EndRead() -> Int32#4096
System.Net Verbose: 0 : [16784] ConnectStream#35428172::BeginRead()
System.Net Verbose: 0 : [16784] Exiting ConnectStream#35428172::BeginRead() -> BufferAsyncResult#36106288
System.Net Verbose: 0 : [16784] ConnectStream#35428172::EndRead()
System.Net Verbose: 0 : [16784] Exiting ConnectStream#35428172::EndRead() -> Int32#2045
System.Net Verbose: 0 : [16784] ConnectStream#35428172::BeginRead()
System.Net Verbose: 0 : [16784] Exiting ConnectStream#35428172::BeginRead() -> NestedSingleAsyncResult#8305944
System.Net Verbose: 0 : [16784] ConnectStream#35428172::EndRead()
System.Net Verbose: 0 : [16784] Exiting ConnectStream#35428172::EndRead() -> Int32#0
System.Net Verbose: 0 : [16784] ConnectStream#35428172::Close()
System.Net Verbose: 0 : [16784] Exiting ConnectStream#35428172::Close()
System.Net.Http Information: 0 : [16784] HttpClient#29811639 - Request for HttpRequestMessage#65266205 completed successfully. Returning response HttpResponseMessage#28951958: StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Strict-Transport-Security: max-age=31536000; includeSubDomains
Strict-Transport-Security: max-age=31536000; includeSubDomains
OData-Version: 4.0
ms-dyn-fqhn: soma-dev1-1-11323b74-f248-4f9a-82d9-5c2d434aa145
ms-dyn-namespace: DynAXProd
ms-dyn-tenant: default-lcs-11323b74-f248-4f9a-82d9-5c2d434aa145
ms-dyn-role: dev
ms-dyn-aid: 5e565990-131f-0003-4663-565e1f13d401
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Date: Tue, 03 Jul 2018 22:52:27 GMT
P3P: CP="No P3P policy defined. Read the Microsoft privacy statement at https://go.microsoft.com/fwlink/?LinkId=271135"
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Content-Length: 6141
Content-Type: application/json; odata.metadata=minimal
}
System.Net Verbose: 0 : [16784] HttpWebRequest#21815586::Abort()
System.Net Error: 0 : [16784] Exception in HttpWebRequest#21815586:: - The request was aborted: The request was canceled..
System.Net Verbose: 0 : [16784] Exiting HttpWebRequest#21815586::Abort()
System.Net.Sockets Verbose: 0 : [16784] Socket#12966380::Dispose()

Unique file name - use date time string instead of GUID?

Current implementation uses GUIDs to prefix the ZIP always, and subsequent contained file(s) with the same GUID, should the "make exported file name unique" option be selected. This means that the files are not in file name order, which some consuming legacy applications would prefer to process them in when the requirement is to process them chronologically.

This would qualify as a feature request - can we change the implementation to use a DateTime string instead of a GUID? Something like:

var fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + ".zip";

Sorry, could have submitted this as a pull request, but I'm new to GitHub and wasn't sure if you'd prefer to vet this suggestion first.

template.zip example

In the wiki there is an image under the Import Job section, which shows a Package Template set to "[...]\template.zip".
Do you have an exampel file which can be used as a Package Template?

I'm unable to figure out how to create a Data Package outside of D365FO. If there is a template used in creating them (and a sort of guide) I would love to see it.

Sometimes during Import status gets set to Blocked and no matter what you do you can't change it.

Sometimes during Import status gets set to Blocked and no matter what you do you can't change it. Even when status is blocked or paused sometime file gets uploaded. So behavior is not consistent enough. I am still not able to pin point on certain things when the status get set to Blocked.

Version of RIS is 1.0.0.0
Version of D365FO - Installed product version : Microsoft Dynamics 365 for Finance and Operations, Enterprise edition (July 2017)
Installed platform version : Update10 (7.0.4641.16233)

Add import job form | Buttons are hided by the pause job when exception occures check box

Expected behavior and actual behavior.

It seems that on the "Add import job" form, the buttons are hided by the pause job when exception occures check box:

image

This is happening using the following resolution and the change the size of text is set to 125% (while these are recommended values by Windows in this situation):

image

image

Steps to reproduce the problem.

Increase the size of text i.e. in my case it happens when it is set to 125%

image

Specifications like the version of RIS and platform and application version of D365FO.

Import job fails to generate mappings according to manifest

When creating an import job and using a package file template with the headers and manifest, when the import job runs, it reads the manifest and creates the data project and adds the entity. However, the mappings are generated incorrectly. The "Ignore blank values" checkbox is honored, but fields removed from the mapping are not. Default values are also not honored if the field does not exist in the file being imported.

This limits usability as not all integration partners are capable of producing a file with all the fields that need to be defaulted and/or send more fields than are needed.

This is for version 2.3 of RIS running on D365 8.0 PU 15

Data export job get paused with the following error: RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.<GetExecutionSummaryStatus>d__19.MoveNext()

Dynamics 365FO
Installed platform version : Update15 (7.0.4841.35259)
RIS Version 1.0.1.0

This looks similar to issue #26

Dynamics 365FO Environment was updated from platform version : Update12 (7.0.4709.41124) to platform version : Update15 (7.0.4841.35259).
After the application update all the export jobs get paused randomly with the below error

Event log error 1
RecurringIntegrationsScheduler.Job.Export - Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()

Event log error 2
RecurringIntegrationsScheduler.Job.Export - One or more errors occurred.
System.AggregateException: One or more errors occurred. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at RecurringIntegrationsScheduler.Job.Export.Execute(IJobExecutionContext context)
---> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()<---

Event log notification
Quartz.Core.JobRunShell - Job Export jobs. threw a JobExecutionException:
Parameters: refire = False, unscheduleFiringTrigger = False, unscheduleAllTriggers = False
Quartz.JobExecutionException: Export job: Export jobs. failed ---> System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()
--- End of inner exception stack trace ---
at RecurringIntegrationsScheduler.Job.Export.Execute(IJobExecutionContext context)
at Quartz.Core.JobRunShell.Run() [See nested exception: System.NullReferenceException: Object reference not set to an instance of an object.
at RecurringIntegrationsScheduler.Common.Helpers.HttpClientHelper.d__19.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()]

Thanks for your inputs

Import error for composite data entities

Using the recommended O-Data Package API there is a bug when importing data packages from composite entities.

When trying to upload composite entity packages, the package doesn't run and fail on AX with the error:
"A DataTable named 'ccDxcCustomerImportEntity' already belongs to this DataSet."

This is the name of the composite entity.

Manually from dynamics 365 environment import data management we don't get that error.

See also:
microsoft/Dynamics-AX-Integration#43

Using RIS version 2.4.0.0

Import job - questions

I can not get the import job to work, I have following setup.

  1. I created a template file in D365, exampled 140-Customers, which has customer entities. (Customers V3)
  2. Then I downloaded that template file.
  3. Now in the input folder I dropped the file called Customers V3.xlsx
  4. In the file schedule, I did the following setup
  5. Its not picking the file up, not sure what am I missing here. ?

image

[Enhancement request/Issue] Job Paused status gets forgotten after restart of scheduler

Expected behavior and actual behavior.

After restarting the RIS Service and/also RIS Standalone service the jobs that were set to Paused will be set back to status Normal.
The expectation is once a job is set to Paused that it stays in this Paused status.

Steps to reproduce the problem.

Start RIS client app
Start standalone scheduler
Add i.e. an Import job
Change the status to Paused
Close the RIS client app
Start the RIS client app again
Start the standalone scheduler again
You will see that the job status is set to Normal...instead of on the last set status which was "Paused"
The same can be reproduced by using the RIS background scheduler

Specifications like the version of RIS and platform and application version of D365FO.

RIS 2.3.0 and earlier versions having this issue.

Upload Job

Expected behavior and actual behavior.

Upload Job

Steps to reproduce the problem.

filled up needed parameters and tested connections which were successful.
make an upload job with XML file inserted my file into an input folder and it was processed and moved to the successful folder.
Nothing gets processed on AX side of things and when I look at the logs the correlationID is null which i thought should be filled in my experience.

All the parameters filled correctly with correct job ids and service authentication

Screenshot of the connection test getting an error at the bottom.
image

Specifications like the version of RIS and platform and application version of D365FO.

Latest version

Incorrect file format error - intermittent

Hi,

we have created a recurring interface with RIS and it is working great for the most part, however sometimes, (once a day on average (and we load 100+ files per day over 5 10 differnt jobs) we get an error saying

XML is not in correct format-
'0' 'Sales tax exempt numbers' record(s) inserted in staging

However when we reprocess the exact same XML the file is uploaded and processed without any issue.

We have already changed the delivery of the XML (long time ago) to first put the file in the input folder with a TMP extenstion. When the file is completed, we change the extension to XML and that should then be loaded.

We have not been able to narrow down the issue any further. It almost seens like the file is picked up when not fully finished, however we not understand how this is possible if we write the file and then rename to XML after it has been written fully. Below our settings of one of the jobs.

image

Thanx
Herre

Feature request - import saved schedule file

The tool has the ability to save schedule files, but no functionality to import schedule files that have been previously saved. If this is not on the feature backlog, I would like to request this functionality.

Ideally (this may be a second feature request), it would be good to be able to load an exported schedule file on startup, from the command line. This would support deployment automation scenarios.

Thanks for your consideration.

Bad Request

Hi,

since a couple of days a lot of "Bad Request" errors are found in our event logs. In the past we uploaded (and tested) a very lot of files with RIS, so I know it is quite reliable. When error raising file is added to the queue again it will be processed without errors.
Anyone an idea what issues could possibly result in raising "bad request" errors ?

D365EE PU11
RIS version 7 sept 2017

Thanks in advance

image

Input file format

Expected behavior and actual behavior.

Where can I find information on the expected import format?

Steps to reproduce the problem.

Specifications like the version of RIS and platform and application version of D365FO.

Follow up on issue #15 - Input file format

Thanks for the link, but that doesn't tell me what the RIS application is expecting?
How can I upload .CSV files using this tool? Do I need to convert them into XML first?
If not, how does the tool know which entity to call ?

Job export D365 Forbidden

Hello
I get this error when running export job:

RecurringIntegrationsScheduler.Job.Export - Si sono verificati uno o più errori.
System.AggregateException: Si sono verificati uno o più errori. ---> System.Exception: Job: Export jobs.export2. Download failure. Forbidden
in RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()
--- Fine della traccia dello stack dell'eccezione interna ---
in System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
in System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
in RecurringIntegrationsScheduler.Job.Export.Execute(IJobExecutionContext context)
---> (Eccezione interna 0) System.Exception: Job: Export jobs.export2. Download failure. Forbidden
in RecurringIntegrationsScheduler.Job.Export.d__5.MoveNext()<---

In validate instance setting I get OK message.
In d365 i have granted access for AAD application.

Version of RIS is 1.0.0.0
Can someone help me please?
Thanks
Robetrto

Upload of more than one XML at the same time

Expected behavior and actual behavior.

In our integration scenario we need to import packages with more than on XML inside, headers and rows for example, in a particolar sequence.

Our legacy application can't provide a finished data package .ZIP, too complex to give use the file, but they can send us only the specific 3 XML file. As writed on the Wiki import job using template can support only one entity at once, i think because the file system integration does not allow more than on file at once.

There's a plan to implement that option on the service? Mean the service can manage more than one XML file at the same time? I know is not so simple to do that, but using some tricks i think can be done, like naming 3 or more file with the same base name, or using a specific file to set the avaiability of the files.

Steps to reproduce the problem.

Specifications like the version of RIS and platform and application version of D365FO.

1.0.0 RIS
UPD10 D365FO

Instance URL with trailing slash does not validate

When configuring an instance, including a trailing / character in the "AOS URL" parameter causes the "Validate" function to complete silently without any response reported

Expected behavior and actual behavior.

Expected behavior: Validation succeeds, or text is placed in the validation result text box to inform the user of the result.
Actual behavior: No result is reported.

Steps to reproduce the problem.

Launch the RIS client
Click Parameters
Create a new instance entry, with an AOS URL including a trailing slash (e.g. https://usnconeboxax1aos.cloud.onebox.dynamics.com/)
Validate the instance entry, using the "Service authentication" and clicking the Validate button
No response is indicated in the text box below the Validate button
Repeat all steps, except omit the trailing slash on the URL - Validation now succeeds

Specifications like the version of RIS and platform and application version of D365FO.

RIS version 1.0
D365 July 2017 application platform update 10

Additional information

Debugging the validation code shows that an HTTP 302 ("Found") response is received, which is neither OK nor an exception, and therefore nothing happens.

Custom Odata actions of execution summary actions are not saved in Schedule.xml

Expected behavior and actual behavior.

The following two values need also to be saved and retrieved from the Schedule.xml

image

The issue might be related to the fact that these settings are added to the implementation of the method:
private JobDataMap GetExecutionJobDataMap()

Steps to reproduce the problem.

Adjust these values, save the schedule.xml file and load the job settings again by closing and reopenning of the job details.

Specifications like the version of RIS and platform and application version of D365FO.

RIS version 2.1.1
https://github.com/Microsoft/Recurring-Integrations-Scheduler/releases/tag/v2.1.1

Upload of XML with import job type

Using the "old" unsupported UPLOAD JOB type it's possible to choose if upload a ZIP or a XML file.

Using IMPORT JOB type it possible to upload only package ZIP files.

It will be nice if it supports the upload of specific entity XML file too, consider an real integration scenario, it's better to request to another application to give us an XML instead a complex package ZIP.

RIS is not adding Input files into the package template zip

Expected behavior and actual behavior.

Whereas the import job works fine when I'm not setting any package template and provide a zip in the Input folder (the D365 Import Project is correctly triggered and executed), nothing happens when I provide a package template and then put my data files (csv files) in the Input folder.

I'm expecting RIS to add my csv files into the zip file and trigger the execution of the Import in D365.

I have tried to use a package template with csv files inside and then also without (with only manifest and PackageHeader files)

Steps to reproduce the problem.

add an Import Job in RIS, specify a package template, copy the data files to be added in the zip in the Input folder

Specifications like the version of RIS and platform and application version of D365FO.

RIS 2.4.0.0
D365 7.2 PU15

Validation form produces errors

I downloaded this solution in an attempt to connect to my D365FO instance. Managed to run it locally and set up parameter. When I try to run the Validate process I am getting the following errors. Debugged the solution and the first error turns out to be a HTTP 302 error. This happens when I try to send an async request to the AOS URL. The auth bearer token is being sent with the request.

I am also getting 401 Unauthorized error right after when hitting the DequeueUri and when executing the AzureWriteUrl request. Any ideas why I'm getting these error?

Thanks in advance.

ris01

Unexpected error : Error communicating with remote scheduler

Expected behavior and actual behavior.

Steps to reproduce the problem.

Specifications like the version of RIS and platform and application version of D365FO.

Hi,

I have download the new version 2.0.1 and i have an error message when I want to save a download job to add : "Unexpected error : Error communicating with remote scheduler".

img1

Thanks!

C# Compile errors on v1.0.0.0 of the source project

Expected behavior and actual behavior.

I have downloaded the RIS source code, and I am compiling the project in Visual Studio 2015 and I get 14 compile errors. See attached spreadsheet to see all the errors, plus screenshot of error.

I have worked through and declared the Guids as a variable within the project. Once we fix the first 4 errors additional 18 new errors come up.

Steps to reproduce the problem.

(1) Go to https://github.com/Microsoft/Recurring-Integrations-Scheduler.
(2) Click on "Clone or download" button.
(3) Download and extract the zip file and copy "Recurring-Integrations-Scheduler-master" folder to my \Documents\Visual Studio 2015\Projects.
(4) Open Visual Studio 2015 with Update 3, with elevated priviledges.
(5) Open the RIS solution.
(6) Right-click solution explorer and select Restore NuGet packages.
(7) Right-click solution and build.
(8) Compile errors are thrown.

Specifications like the version of RIS and platform and application version of D365FO.

RIS v1.0.0.0
compile error code
Compile Errors.xlsx

[Enhancement request] Custom OData action endpoint relative path

Expected behavior and actual behavior.

This is an enhancement request to have customizeable OData action endpoints as in some cases it is usefull to be able to have custom services which can be used to communicate with instead of the D365FO standard one. In my current project we do use this approach by customizing the RIS codebase and I see an opportunity to have this included in the RIS codebase to avoid double maintenance of the solution. I'll be able to help on this point after alignment about the design considerations to make the merging back to the RIS codebase as smooth as possible. Please contact me back to discuss the idea.

Steps to reproduce the problem.

N/A

Specifications like the version of RIS and platform and application version of D365FO.

N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.