Friday, March 14, 2014

[Dynamics AX Retail] Cannot proceed to catalog publishing because channel has not been published successfully. Channel publishing status: Failed. Status message: 'Object reference not set to an instance of an object.'

I faced this issue while installing the retail online storefront on my dev machine. To fix it, perform the following steps (in this order !)

1. Retail -> OnlineChannel -> "your channel"

2. Edit

3. In the top ribbon, click on Setup -> Distribution locations

clip_image001

4. Ensure that the distribution location form is properly filled in

5. Then, functions -> Test connection

6. {The following pop up should be displayed}

clip_image002

7. Go back to the distribution location form and click Functions->Send Configuration

clip_image003

8. The following pop up should appear indicating that the configuration has been pushed to the sync service

clip_image004

9. Close distribution locations form

10. Go back to online channel screen

11. Click on channel->Publish

clip_image005

12. The publishing status of the channel should be set from "draft" to "In Progress"

13. Go back to the retail area page

14. Run Periodic -> Data distribution -> Create Actions job (and click ok)

clip_image006

15. Then, Periodic -> Data distribution -> distribution schedule

clip_image007

16. Select the job N-1075_OC

Ensure that the distribution location list is properly setup. If it is empty, no data will be synchronized to the retail database…

clip_image008

17. Run the job N-1075_OC (Click Run Directly)

18. On the DB Server where the retail database is deployed, open SQL Server Management Studio and run the following query

SELECT *

FROM [SyncServiceMsg].[dbo].[IncomingMessages]

ORDER BY PackageNo desc

This query displays the list of job queued on the retail database. The latest job should be N-1075_OC

clip_image009

19. Now, on the SharePoint machine, open a powershell prompt and type the following script.

I consider here that the RetailPublishing job is properly deployed on your machine and runs every minutes.

Add-PSSnapin Microsoft.SharePoint.Powershell

$maxHistory = 1;

$job = Get-SPTimerJob | Where { $_.Name -eq "RetailPublishingJob"}

$i = 1;

foreach($hist in $job.HistoryEntries)

{

$hist

$i++

if($i -gt $maxHistory)

{

break

}

}

The result should be something like this:

clip_image010

1 comment:


  1. Informative post! I really like and appreciate your work, thank you for sharing such a useful information about Retail management strategies, keep updating the information, hear i prefer some more information about jobs for your career hr jobs in hyderabad .

    ReplyDelete