Web Service Purgatory

Well, I’m out of Web Service Hell.Christian Weyer pointed me in the right direction and I had my first Web Service working pretty quickly.

It turns out that the dataset is only included in the WSDL if it is actually being returned by a function. Simply including it in the project, even if it is used in the code(as mine was), does not mean it will be made visible to the outside world.

This does make some sense as you wouldn’t typically want to see a bunch of internal components of the web service unless those components could be used by the client application. Now that I understand this little rule, things are much clearer now. Of course, it would be nice to have had this documented someplace. But hey, where would the adventure be in that?

I’m still working though some issues in my head (data collisions and exception handling for example) so I’m not quite in Heaven yet, but I am comfortable in purgatory. 🙂

Thanks again Christian.

Web Service Hell

Let me warn you that this posting may be a little incoherent and I apologies for that. You see, my brain is currently lying on the floor next to me. It seems that in a fit of frustration it jumped for it.

< ?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 

This week I decided to join the rest of the .< ?xml:namespace prefix = st2 ns = "urn:schemas-microsoft-com:office:smarttags" />NET world and try my luck at Web Services. They seemed simply enough. Heck, they even include the world “Simple” in the protocol name! So how much trouble could this cause me anyway? Ug….

 

I installed the TaskVision sample and opened it up. Everything was extremely easy to understand. In fact, I was blown away by how seamless it all fit together. There seemed to be very few “hoop jumps” in their code.

 

After gaining some confidence from TaskVision, I started a new project.

 

I added an ASP.NET Web Service and a Windows Application to consume it. I quickly went about adding a Dataset to the Web Service project and added some code to return that dataset to the client. There was nothing special about it, just a “SELECT * FROM customer” against Northwind. I tested the Web Services via the integrated test web page thingy (very nice btw) and got back all my Northwind customers.

 

Soon after this, my brain took the suicidal leap.

 

Now that I have this lovely Web Service, I made a Web Reference to it from my client application. But something strange happened. While the class that returns the dataset was there, the dataset itself was not. I took another look at TaskVision and found that they were available in their Web Service. So what was going on here? Why can’t I access the dataset?

 

I’ve now been Googleing for 3 days and have found nothing on this. So either I’m an idiot (very possible, even probable) or I’m trying to do something abnormal here (also very possible).

 

Anyone want to help me get my brain back into my head?