With correct coding you can expose Navision codeunits functions as webservices with 3 lines of code.
- 2 lines of code in Navision side a- 1 lines of code in .NET Web Service.
A good article explaining the foundations to build such code is in http://msdn2.microsoft.com/en-us/library/ms952079.aspx
Note: This article explains a way to expose codeunits functions as Web Services. I would only add a remark to this article. You must ensure a thread lock in web services layer or in concurrent requests you can have answers returned to wrong client.
Recently using a similar technique I have exposed a project management add-on logic has web services. This allowed external applications (Web, Mobile) to communicate data with Navision without duplicating business logic. This allowed me to build a web interface without a single line of business code. Validations, posting and other code has done in Navision. I never thought that NAS had such performance with so many users.
For documents that I have read NAV 5.1 will expose directly codeunits as web services, but the major improvements will be performance at this layer. Using NAS model, can only process on request at the time, I hope 5.1 web services improve this lap. Having more than 40 concurrent web users in same NAS can be major performance problem.
In post link you have a sample code to create webservices in .NET and call a codeunit in Navision.
Requirement: I have to insert purchase order in Dynamics NAV 5.0 from .NET web service.
Can I invoke existing CodeUnit (PurchaseOrder) from .NET webservice. If so, can you please share soome thoughts or Code snippest
It can handle, but it depends the use you will make. You can't make all requests to NAS you must use for example data replication
would you say Using Nas is a bad idea for an ecommerce based website.
I did that once for a demonstration project, but never gone live. If you follow standards there aren’t any major differences between .NET WS and Java.
Have you done any web services integration between Dynamics NAV and the Java World ?
Yes it also works
Do you know if this would also work with 3.7?
Very neat thanks.