Developer forum

Forum » Integration » Data Integration - Custom Destination Provider and OrdersProvider

Data Integration - Custom Destination Provider and OrdersProvider

Evaldas Raisutis
Evaldas Raisutis
Reply

I am creating a new Data Integration activity with Orders Provider as source and a custom Destination Provider (see attached file).

When I create the activity, I select mapping for each table defined by the provider:

When I run the activity I expect a file Oupout.txt to be created (since communications part with Sapera is not implemented yet). However, instead I see message "Job run stopped. No active mappings.".

What gives?

DW version 9.4.4


Replies

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Evaldas,

Are you still getting this issue? Based on your screenshots, that doesn't make sense. The code for that situation is based on:

  if ((Mappings.Count == 0 || Mappings.Find(m => m.Active) == null))

So, you need to have more than 0 mapping and at least one is active. Your screenshot shows that you have at least one mapping per table, and they are selected.

Can you try to save and close the form and come back in and ensure that the checkboxes are checked, and see if the issue is still occuring?

Scott

 

 
Evaldas Raisutis
Evaldas Raisutis
Reply

Hi Scott,

I have tried it again few days later - same results. I agree it that it does not seem to work as expected.

I am attaching the .xml file generated at "Files/Integration/Jobs" after saving and running the job. It appears mapping fields are set to IsActive as expected.

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Evaldas,

There's nothing obvious standing out in the job. For the original .cs file, I'm unable to download it from the site. Can you try uploading it in a .zip file so that I can check it out?

For troubleshooting, you could try narrowing it down by creating a new job and mapping to just one table to keep it as simple as possible. I can't imagine how the order provider would be the problem, but you could try a different source provider too, just to remove that from the mix. 

Scott

 
Evaldas Raisutis
Evaldas Raisutis
Reply

Hi Scott,

Here's a zip file.

In the meantime I will try to simplifying the job.

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Evaldas,

I tested this and there are two things that I noticed:

  1. The path to output.txt will be the app pool's root path, which was c:\Windows\System32\Inetsrv for me (it can vary depending on the app pool profile settings). So you'll need explicit permission to that folder, or you can use a different path for the filename. That said, that's not the same error as you're getting, so it may not be what you're running into.
  2. When I did a simple test from an example XML file to the the Customers destination table with a single field mapped, everything ran successfully. In fact, I edited the job to have all three of Customers, Orders, and Orderlines for the destination. I only mapped 1 field each though. That also ran successfully. 

So, I believe that you have the right foundation and this may not be even an issue with your custom provider, but it may be something else with the mappings. If you turn off a couple of the tables and narrow it down, hopefully you can get a successful run, and then start to assemble the job again until it breaks. 

Scott

 
Evaldas Raisutis
Evaldas Raisutis
Reply

Hi Scott,

It seems to run fine using Dynamicweb Provider instead of  Orders Provider. 

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Evaldas,

I see what you mean. I'm able to reproduce this now using the Order provider for the source and your provider for the destination. It happens even when simplifying it. Give me a day or two and I'll do some troubleshooting get back to you.

Scott

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hi Evaldas,

I spent some time on this but it's best to pull in someone from the platform team if they're listening.

It's easy to repro by using the Order provider for the source and your provider for the destination. The issue isn't with the configuration.

The issue is likely in OverwriteDestinationSchemaToOriginal() or, more likely, GetOriginalDestinationSchema(). Those are the only two methods that I see that are called by Job() before the error message about no active mappings. 

As I'm sure you've seen, here are the docs for a custom data provider: But it doesn't seems to explain how to implement the various overrides.

So, hopefully someone else from the platform team is listening and can take a look.

Scott

 

 
Evaldas Raisutis
Evaldas Raisutis
Reply

Hi Scott,

Thanks for your time :) 

Then we wait.

 

You must be logged in to post in the forum