Last year article I had written similar article on how to consume BizTalk web service from Navision. The solution was require us to develop custom COM wrapper which Navision utilize it in C/AL code. The offer solution incline dependency upon deployment particularly certain version of Dot Net framework and custom COM library registration. In certain way, you may feel little bit beefy for IT maintenance and it easily can forgotten.  

I do realize the main obstacle for Navision classic integration (NAV 2009 and earlier version) with automation are:

  1. Navision variable string limitation up to 1024 chars
  2. Consuming BizTalk WCF require in SOAP format

I have recently find out the way to avoid the two obstacle above. The breakthrough is to configure BizTalk WCF adapter to accept plain XML just like HTTP adapter without require SOAP format. Thus, it help to reduce the complication on client side to send the XML over to BizTalk server. Hence, I am using Microsoft XML automation COM component to perform this because any local system with windows OS surely has this automation in place. Indeed, you have to carefully choose which automation version suitable at your end. Navision 2009 and earlier it self use Microsoft XML automation version 3.0, however I am using version 6.0 as demonstration.  To make it short, following  illustration will explain to you in detail.

Read the rest of this entry »


Recently I have read Microsoft Dynamic NAV blog article regarding the Commerce Gateway in NAV 2013 and I am surprise that the new solution is still remain the old commerce gateway client component. IMHO, the new solution is not give a better face lift to the product and it carry forward some limitation in the past to present time. Regardless, I was posting two articles (here & here 2) regarding alternate integration between Navision 2009 and BizTalk Server 2006 R2. The solution was utilizing the web services with WCF proxy client. However recently, I have developing a new solution which easier and without need to generate proxy client. The new solution yet still using BizTalk WCF adapter and Navision Web service technology with additional client helper DotNet assembly component for Navision connecting to BizTalk WCF service.

In sort, the new solution to consume Navision web service from BizTalk Server is only require BizTalk send port with WCF-custom adapter and a Navision code unit object with single operation service. Meanwhile, the new solution to consume BizTalk Server from Navision require to develop client request component that utilizing .net framework class “HTTPwebrequest” class and only BizTalk receive port with WCF-custom adapter.

With the POX(plain object XML) request/response design service pattern the solution can be implemented in any Navision web service (NAV 2009, NAV 2013,NAV 20013R2) and BizTalk 2006R2 onward with WCF adapter. Let’s take a look the detail solution.

Read the rest of this entry »

Dear reader,

This article is the companion part from the last article and to easily understand this article you should read the first part. This article elaborate the integration between Navision and BizTalk Server using WCF technology and it would be an alternative solution apart from using Commerce Gateway adapter component. The elaboration in this article would be heavily with BizTalk WCF adapter technology and .NET COM component wrapper which I developed by Visual Studio 2010 Express Edition in C# language. The test solution environment are based on Windows Server 2003 32 bits, BizTalk server 2006 R2 and Navision 2009 R2. It is very high likely, the solution would prevail with higher windows version and higher BizTalk server version.

Read the rest of this entry »

Recently, I have been thinking of Navision Commerce Gateway future module especially the BizTalk Commerce Gateway adapter. The latest Microsoft platform are moving forward to 64 bits and Navision maturity closer to .net. These situation cause Commerce Gateway adapter torn out to be good solution or unfitted. Wonder if Microsoft Dynamics would disclose for new technology solution or would rather let the partner to do them self. I can understand  people tried to make BizTalk server injecting data into or pulling data from Navision SQL database thru BizTalk SQL adapters. Certainly, there is nothing wrong with it but it has many limitation for few and more integration transaction to go along with it. Regardless, Navision  2009 introduce SOAP web service and high lightly it is good starting point to exploring BizTalk talk to Navision via Navision SOAP web service. In this article I am focusing on how to consume Navision web service and will talk about Navision consuming BizTalk WCF service in another post article.

Read the rest of this entry »

In the past, I was writing some article regarding project integration with older Navision version. The article overall was about developing a web service extension for exposing Navision business process and data domain reach out to external. In Navision 2009 however, the web service existence really make integration much more easily. This article is resuming from past project integration, I would like to share with you the web service request/response pattern based on Navision web service 2009.  

Read the rest of this entry »

Recently, I have been developing a batch job automation to extract/import Navision tables into/from xml format. Well it is not quite challenging if I have to use XML port object for each table and this is straight forward solution. However, in my case, I would like to extract/import any table dynamically from user selection during runtime and I don’t wish to create each xml port object for each table in Navision.

Certainly I am looking at RecordRef and FieldRef data type that would be my outmost possible solution and indeed I almost there but I was stuck with Blob data type and check mate. As you have probably known the field reference provide us with Value or Validate method to extract or to assigned the value for a field. These methods are seem good for simple data types and very unfortunately the method of CREATEINSTREAM and CREATEOUTSTREAM are absent from field reference and it is seem I am turn into the end of the road.

Read the rest of this entry »

You might already have aware of new Navision - CRM integration new features introduced in Navision 2009 R2. This integration technically gives possibility in Navision to capture data change tracking in a better way than earlier version. In this article, I want to share with you my point of view of this possibility data change tracking mechanism and give you alternative ways to achieve change tracking with another technology within Microsoft framework.

Read the rest of this entry »

Recently I have some requirement to extract Navision item picture to web front application and with Navision 2009 I could store not only BMP format but many other format namely, JPEG, TIFF, PNG and etcetera.  This is indeed is great improvement in Navision 2009, since BMP format is not the best format due the size of the space. Now, I have a little problem with the format diversity on how to recall the image format type. I need find out the format type because the web pages require the right content type before it can display correctly.

After some study and research, finally I can make a simple function in Navision C/AL to detect the image format type directly from the blob image field. Basically some bytes at the beginning of the image store the image format information. So, I need the first 4 characters from the BLOB image and do checking with it.  The function below detects some major image format and could be extended to detect others whenever it is necessary.

Content Type Function Detector

Below C/AL code  is using detector function for displaying the content type format of item picture:


   l_textContentType := l_cduGenFunction.GetImageContentType(l_textLen4);
   Message(’Image Format is : ‘ + l_textContentType);

Some cases of requirement, I need to have text editor in Navision that does not limited to 1K of string and I need able to have break line and simple decoration. This large text could be for explanation of production description, shipping handling or document requirement or could be some comment.  So I try to develop a new stuff in Nav 2009 sp1 features call control Addin an as usual using Visual Studio Express Edition 2010 to create one.

Read the rest of this entry »


Recently, I have been thinking of consuming typical web service such currency exchange rate or RSS weather forecast from Navision.  So I come to think how to consume all these services on the web and finally I found “HTTPWebRequest” class under System.Net framework that help me do the wonders. So, I am exciting to create the COM wrapper for Navision to make a request and capture the response. Like usual, I am using Microsoft Visual C# 2008 express editions and Navision message type designer to managing XML at Navision side. Let’s go with substantial matter now.

Read the rest of this entry »