Developer forum

Forum » Dynamicweb 9.0 Upgrade issues » UserIntegration - no active mappings

UserIntegration - no active mappings

Gheorghe Balan
Gheorghe Balan
Reply

Hi 

I have created a data integration job based on the ErpUserImport.xml template, as well as a batch job where I set this xml import setting: <GetEcomData ReimportTable="true" SetCheckpointToNow="false" CustomModifier="Test"><tables><Customers type="all" /></tables></GetEcomData>, alongside with the service url, and credentials.

When I call the method from the test tool it returns a long list of users, and it looks like the fields that are being returned match 100% with the field names in Dynamicweb (AccessUser). Not all the fields are present in the response, but all the essential fields are there (UserID, UserName, and so on). 

However, whenenver I run the job directly from DW (http://testhjj.hjj.dk/Admin/Default) it just runs, checks the configuration, and does not find any active mappings. 

What am I doing wrong here, and how can I fix it ?

Br

Gheorghe

Replies

 
Lars Larsen
Lars Larsen
Reply

Hi Gheorghe

Could it be, that you are running your import without "Create mappings at runtime" and have forgot to check columns in the "DATA COLUMN MAPPING" list?

 

Capture100.PNG
 
Gheorghe Balan
Gheorghe Balan
Reply

Hi Lars

That's a nice guess - but it is not the case - I am running with "Create mappings at runtime" 

 

mappings.PNG
 
Martin Gammelholm
Martin Gammelholm
Reply

Hi Gheorghe,

Could you please check the logging folder, it might reveal what the error is. You can find the logs here:
/Files/System/Log/DataIntegration/

You can also look for errors in the "Monitoring" tool in Dynamicweb.

 
Gheorghe Balan
Gheorghe Balan
Reply

Hi Martin

Thank you for the reply. I can't make much out of the error message: 

2019-02-04 10:40:47.407: Starting job - 3. AX user import.
2019-02-04 10:40:47.469: Start checking input files changing
2019-02-04 10:40:52.518: Finish checking input files changing
2019-02-04 10:40:52.518: reading configuration
2019-02-04 10:40:53.753: Job run stopped. No active mappings.
2019-02-04 10:40:53.753: Finished job - 3. AX user import.
2019-02-04 10:40:53.753: Batch succeeded.

Can you ?

 

 
Gheorghe Balan
Gheorghe Balan
Reply

Hi again

 

If I try to select an XML source as mapping (instead of using the standard user import template), there is no template for importing users (look at the attached screenshot).

Could this be the reason why it cannot find active mappings ?

Br

Gheorghe

xmlTemplates.PNG
 
Martin Gammelholm
Martin Gammelholm
Reply

Hi Gheorghe,

Just checked the Monitor, and there is an error in there saying:
2019-02-04 10:20:01.653: Job creation failed.
System.IO.FileNotFoundException: Could not find file 'E:\HJJ.Web\Files\Files\Integration\jobs\3. AX users.xml'. File name: 'E:\HJJ.Web\Files\Files\Integration\jobs\3. AX users.xml'

This might be a naming issue. Try renaming your imports and let me know if this did the trick.

 

BR
Martin

 
Gheorghe Balan
Gheorghe Balan
Reply

Hi Martin

That is not it.

The error is there because I had deleted the import job, but there was still a reference to it from the batch job.

I created a new import job afterwards. Try sorting the error logs chronologically. 

 

Br

Gheorghe

 
Gheorghe Balan
Gheorghe Balan
Reply

Hi again

Another detail is that when I first created the ErpUserImport job based on the template, I could not save the job. I was getting an error about ErpUserImport.xml file missing from 'Files\Integration'.

Therefore I have copied the template ErpUserImport.xml to E:\HJJ.Web\Files\Files\Integration. This allowed me to save and to run the job, but I keep getting the error with mappings. 

Could this be the reason why the job failed in the first place ?

 
Gheorghe Balan
Gheorghe Balan
Reply

I have deleted the file which I had added myself in the Files/Integration folder.

Could you try to have a look at the AX User import activity ?

Maybe some XML files that the template is dependant on are missing ?

extensions.PNG
 
Morten Snedker
Morten Snedker
Reply

Hi Gheorghe,

The log is very useful for tracking errors. Firstly, the Data Integration job does not find any mappings, because no import-file is present. If you after executing scheduled task try and enter the settings of the Data Integration job, you will be prompted that XML file for import is missing. 

The import-file is missing because the scheduled task addin fails to produce it: https://www.screencast.com/t/QJnVw3ZlJlRS. At least that is the current error.

Let me know if this sorts it out.

Best regards
Morten

 
Gheorghe Balan
Gheorghe Balan
Reply

Hi Morten

This is not new information. I am aware that the add-in fails to produce the XML file. 

I have no chance of figuring out what is the matter, beacause all I do is create an ErpUserImport job based on the template. This should not fail ?

The question is why is it failing and how can it be fixed ? 

 

 

HJJ_data_import.PNG
 
Morten Snedker
Morten Snedker
Reply

The Data Integration job, created on base of a template, is in itself just fine. Nothing is wrong with the job. The job just can't execute, because there is no file to execute.

If you want to have a file for the purpose of testing, you should simply create a dummy with the correct structure. You may find examples of all items (users, products, currencies etc) in the documentation. Here the xml for users: https://doc.dynamicweb.com/documentation-9/integration/integration-framework-2/requests-responses#sideNavTitle1-5.

So put the xml content to \Integration\ErpUserImport.xml, and the job will find its mappings.

Another way of obtaining the XML, is by simply making an export of users to an xml, and then copy one or more user records from the output-xml to the ErpUserImport.xml.

BR
Morten

 
Gheorghe Balan
Gheorghe Balan
Reply

Ok - now it's getting somewhere :) 

So I the import works when I paste in the dymmy XML data.

However it fails to update the xml file with the records that the Dynamicweb service returns.

My Access User response from the dynamicewb service looks like this

 

  <item table="AccessUser">
      <column columnName="AccessUserExternalID"><![CDATA[75857311]]></column>
      <column columnName="AccessUserCustomerNumber"><![CDATA[xxxxxxxx]]></column>
      <column columnName="AccessUserUserName"><![CDATA[xxxe@xxx.dk]]></column>
      <column columnName="AccessUserType"><![CDATA[5]]></column>
      <column columnName="AccessUserName"><![CDATA[XXXX yyyyyy]]></column>
      <column columnName="AccessUserCompany"><![CDATA[XXX yyyyyyyA/S]]></column>
      <column columnName="AccessUserFirstName"><![CDATA[XXHHHH]]></column>
      <column columnName="AccessUserMiddleName"><![CDATA[]]></column>
      <column columnName="AccessUserLastName"><![CDATA[Østerbro]]></column>
      <column columnName="AccessUserID"><![CDATA[75857311]]></column>
      <column columnName="AccessUserParentID"><![CDATA[75857311]]></column>
      <column columnName="AccessUserEditorConfigurationID"><![CDATA[STD]]></column>
      <column columnName="AccessUserCartID"><![CDATA[1]]></column>
      <column columnName="AccessUserShopID"><![CDATA[SHOP7]]></column>
      <column columnName="AccessUserAddress"><![CDATA[XXKkkkvej 22]]></column>
      <column columnName="AccessUserAddress2"><![CDATA[]]></column>
      <column columnName="AccessUserHouseNumber"><![CDATA[]]></column>
      <column columnName="AccessUserCity"><![CDATA[Vejle]]></column>
      <column columnName="AccessUserState"><![CDATA[]]></column>
      <column columnName="AccessUserCountryCode"><![CDATA[DK]]></column>
      <column columnName="AccessUserCountry"><![CDATA[Denmark]]></column>
      <column columnName="AccessUserZip"><![CDATA[7100]]></column>
      <column columnName="AccessUserEmail"><![CDATA[]]></column>
      <column columnName="AccessUserPhone"><![CDATA[75 85 73 11]]></column>
      <column columnName="AccessUserFax"><![CDATA[]]></column>
      <column columnName="AccessUserVatRegNumber"><![CDATA[83651415]]></column>
      <column columnName="AccessUserActive"><![CDATA[true]]></column>
    </item>

 

I can see that there are some inconsistencies, like the import fails if I paste this XML directly into to the ErpUserImport.xml.

Is it failing to update the file due to inconsistencies in the naming and contents of the columns ?

 
Morten Snedker
Morten Snedker
Reply

Your current xml imports fine. I've changed username "Contoso Retail Dallas" to "Contoso Retail Dallas xx" - and it is updated just fine.

/Morten

 
Gheorghe Balan
Gheorghe Balan
Reply

Import works - but the XML file with data is not getting updated. 

The issue is that when I use the test tool I get thousands of user records back. 

As far as I understand the xml file should always be updated when running the batch job with the same data returned by the test tool. 

Is that correct ?

 

 
Morten Snedker
Morten Snedker
Reply

Yes, if the setup is correct. :-)

What you should focus on right now, is the log that states:

"There was no endpoint listening at http://188.180.99.106:8090/DynamicwebServiceHJJ". 

So, if you take the endpoint address and put it to the browser on the same machine that's serving the IIS, I bet that you do not get a response. The most recent log shows a request on 12:51:13 and gets a response back after 30 seconds, saying "endpoint not listening". And 30 seconds is the default timeout on such a request.

So you should figure out why the endpoint is not responding to the request. Probably due to firewall (closed port) and/or ip-filtering.

BR
Morten

 
Gheorghe Balan
Gheorghe Balan
Reply

It turns out there is something blocking port 8090 - but we've opened a support case with HostNordic.

I'll get back on this ticket once we have access to the service in case we are still experiencing troubles with the user import.

 
Morten Snedker
Morten Snedker
Reply

You are confusing the setup of this:

There are two hosting parties:

  1. Hostnordic, hosting the webiste (IIS)
  2. Owner of IP hosting the endpoint (which I can tell from the IP is not Hostnordic)

The website (1) is sending a request to the endpoint IP (2), but the endpoint is not responding on port 8090. 

So, Hostnordic will not be able to do anything. It is the owner of the endpoint IP, who should open a port.

BR
Morten

 
Gheorghe Balan
Gheorghe Balan
Reply

Just to follow up on the thread. 

The service is now accessibe from the webserver. 

Unfortunately there is a new error in the log:  The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate,NTLM'.

I've tried enabling the Windows authentication in IIS as described in this post: https://social.msdn.microsoft.com/Forums/vstudio/en-US/6798f6c2-93fb-4525-bcf9-5be97fd255a3/what-does-this-mean-the-authentication-header-received-from-the-server-was-negotiatentlmbasic?forum=wcf - but that didn't make a difference.

Is this error something you are familiar with ?

 
Morten Snedker
Morten Snedker
Reply

Hi Gheorghe,

We will continue on the support ticket.

 

BR
Morten

 

You must be logged in to post in the forum