Web Reference vs. Service Reference, Part 2

  • Reading time:4 mins read

imageA beauty of Web services is that they don’t need to care at all about who’s consuming them. Whether there is .NET on Windows, Java on Linux or some proprietary stuff on an iPad on the other end, they do exactly the same stuff.

To make it short: if something works on one platform and fails on another platform, it’s not the fault of the Web service being called, it’s the fault of the caller platform.

As I said in the last post, there are two ways, or platforms if you wish, native to .NET Framework, which you can use to connect to any Web services. And they don’t work exactly the same.

Continue ReadingWeb Reference vs. Service Reference, Part 2

Web Reference vs. Service Reference, Part 1

  • Reading time:3 mins read

Smorgasbord! by Charles RoffeyOnce upon a time, Freddy has delivered a great series on connecting to NAV Web Services from a smorgasbord of technology flavors. If you are a .NET enthusiast, like me, the obvious choice is to connect through the tools that are at your disposal in Visual Studio: the proxy classes.

A proxy class is a class which wraps a Web service functionality into a strongly-typed .NET object, and allows simpler communication through Web services. It hides away all intricacies of SOAP communication, authentication, serialization and deserialization, and exposes simple, easy-to-use objects. Every NAV Web service results in a series of proxy classes, and in Visual Studio the generation of those classes is as simple as clicking a mouse a couple of times.

Continue ReadingWeb Reference vs. Service Reference, Part 1

Bug theater in Web services #5

  • Reading time:3 mins read

My daughter Ema, born January 16th 2012Last Monday I’ve attended my second daughter’s birth, and then spent the week trying to relieve my wife as much as possible from anything but breastfeeding.

As a matter of fact, I’d like to keep doing it, it was not only a great break from daily worries, but also a fantastic occasion to spend all the time available with my closest and dearest, which I am not sure when I will have next.

It seems that there is life to keep going on, so I’ll now try to be back with my work and my blog.

Let me introduce bug #5: fields within a FixedLayout control.

Continue ReadingBug theater in Web services #5

Bug theater in Web services #4

  • Reading time:3 mins read

imageIn my country, there’s a saying: “A good horse has a hundred flaws; a bad one has only one.” It’s bad.

People have asked me why I am doing this, and if I hate Web services because I’m blogging about their flaws. In fact, I love Web services, and as I said in the first post in this series – they are great. They are a good horse. A winner.

The reason why I am doing this is because I want to share the problems I encountered over months of working with Web services intensively, as well as the solutions or workarounds I identified.

Today, on the repertoire we have another security-related glitch, which has been confirmed to me by Microsoft, but as far as I know there has not yet been a hotfix for this.

Bug #4: accessing Web services in multi-company scenarios.

Continue ReadingBug theater in Web services #4

Bug theater in Web services #3

  • Reading time:4 mins read

imageSoren has taught me yesterday that some of the bugs I encountered have been properly disinsected by Microsoft, so other than the workarounds I suggested, there is an option to apply the hotfix and forget about that one.

Today, I’ll explain a not so critical bug, as the one yesterday, but depending on what exactly you do with Web services, it may be more than just a nuisance.

Hello, bug #3: accessing WSDL without database-wide permissions.

Continue ReadingBug theater in Web services #3

Bug theater in Web services #2

  • Reading time:3 mins read

imageThe bug with which I started this series is nothing critical. It manifests rarely, you can easily work around it. It’s in the “so what” category.

But the one I’ll talk about today is a tough beast, with not-so-easy workarounds that cause as much headache as the bug itself.

So, here comes bug #2: setting a date to 0D.

Continue ReadingBug theater in Web services #2

Bug theater in Web services #1

  • Reading time:2 mins read

imageIf something, Stratus has taught me how buggy the implementation of Web services in Microsoft Dynamics NAV is. Let me be clear from the onset: Web services are a great functionality in NAV, one of the best additions (together with .NET interop) to NAV stack in a long while. But it’s buggy.

Being buggy doesn’t mean it doesn’t work. It only means you need to twist and bend your code to achieve things which you would expect to work out of the box. During development of Stratus, we had to make a series of workarounds in Web services to achieve simple goals, and I decided to share those bugs (and workarounds) with you, to help you be more productive in your Web services based projects.

So, here we go for bug #1: lowercase codes in primary key.

Continue ReadingBug theater in Web services #1

Definitely not normal

  • Reading time:5 mins read

It all started with Waldo and his Dynamics NAV 2009 R2 is not a “normal” release … beware! post two weeks ago. Waldo did not complain (much Smile), he explained what R2 is and what it isn’t, and it turns out that it isn’t many of the things people hoped it was.

Then Luc followed with his Dynamics NAV 2009 R2 is … post, in which he again says NAV 2009 R2 is not normal.

I’m sorry to say, but I am definitely joining this “not normal” party, ‘cause there is something strange going on with NAV, and I believe there will soon be either a SP(how does NAV 2009 R2 SP1 sounds?), or a series of hotfixes.

Continue ReadingDefinitely not normal

Strange Web services behavior in NAV

  • Reading time:4 mins read

bugorfeatureA bug or a feature? Sometimes it’s hard to tell for sure.

Web services are a fantastic tool in NAV, however, they do not always behave exactly as you would expect them to. There is one particularly annoying behavior, which just after you get used to it starts getting even stranger.

So, setting any numeric value during the Create method call on any page web service will have no effect, and the only way to set a value in a numeric field would be through a subsequent call to Update method.

Continue ReadingStrange Web services behavior in NAV

10 reasons that make design absolutely necessary

  • Reading time:12 mins read

Unfinished buildings, by net_efekt (on Flickr)Design is one of a kind. Other phases in Sure Step are understood and accepted as good and necessary. But design, do we really do that? Is it really necessary? Who’s going to pay for it? Does the customer really need all those documents? Instead of writing documents, you could have it developed in the same, or less time. And so on and so forth.

As a matter of fact, if you asked me to pick one single most important phase in a Sure Step project, then it’s the design. No second thoughts here, whatsoever.

Here I list the ten most important reasons that I believe make design absolutely indispensable.

Continue Reading10 reasons that make design absolutely necessary