RE: Windows Client using Generated WS Proxy

From: Tomas (Tomas_at_discussions.microsoft.com)
Date: 09/15/04


Date: Wed, 15 Sep 2004 06:11:05 -0700

Hi Gravy,

I have just completed a contract where I ran into the situation I just
described.

I was using several class that were to be shared across the presentation and
business tiers of my application. I have placed these data class e.g.
AddressData, UserData in an assembly I was planning to share across tiers.
The WSDL tool did indeed create "duplicates" of these classes which, to be
honest, really annoyed me.

The solution I used was to generate one proxy using the tool and then I
simply went through it and modified it. Since I am using VSS, versioning has
not been a real problem. Since the initial design of these data classes I've
added some methods for presentation e.g. a toString() that puts the users
name together in a nice format.

Overall it's been quite successful, but that partly stems from the fact that
we had very good designs on our webservices before we started client side
development. Signatures have changed slightly, but you can modify the custom
proxy without too much difficulty. Major headaches arise when you add new
webmethods, fortunately for me, that happened only one over the life of the
project so it was only a minor task. This would be a big problem if methods
were being added quite frequently.

I hope this has been of some benefit to you. Let me know what you decided to
do.

Tom

"Gravy" wrote:

> Hi,
>
> How many people are using a windows client to talk to their web service? I'm
> interested on peoples view on using the classes that are generated
> automatically when a web reference is added. More specifically the class
> that represent the data that goes to and from the web service.
>
> In a very simple solution I can see the ease of using the generated classes
> but in a more complex solution does the case for using them still stand.
>
> I have an application that has a windows client talking to a set of services
> hosted in ASP.NET. Now whilst writing the service layer I created quite a
> few classes that represent the data to method calls, i.e. entity type
> classes. the typical sort of thing is a Customer or an Account.
>
> Now, if I expose a web method that takes a Customer or Account the client
> proxy that is generated automatically creates another definition for
> Customer and Account. If MY entities contain the data plus a little
> validation, i.e. Name cannot be empty or greater than 10 then I would want
> my client to use them as well as the server. But this means I now have a
> conflict. the WS Proxy thinks it knows what a Customer is and the client
> code also thinks it knows what a Customer is.
>
> Does anyone else suffer from these conflicts, or do people just use the
> proxy generated class.
>
> I can think of a couple of solutions to the problem.
>
> 1) Change the reference.cs file to use my namespace for my Customer and
> Account class. Then remove the auto generated versions from this class.
>
> 2) Manually convert from my definition of a Customer to the proxy's
> definition before a call the web service!!
>
> One aspect of this that I'm worried about is versioning!!
>
> Does anyone have any comments on this?
>
> Regards
>
> Graham Allwood
>
>
>



Relevant Pages

  • Windows Client using Generated WS Proxy
    ... How many people are using a windows client to talk to their web service? ... I have an application that has a windows client talking to a set of services ... if I expose a web method that takes a Customer or Account the client ...
    (microsoft.public.dotnet.framework.aspnet.webservices)
  • RE: SOAP .Net client wrapper questions
    ... on the client side or the web service side? ... for the web service and that didn't produce any result. ... automatic Proxy setting detection, and that seems like it might be involved. ... Microsoft MSDN Online Support Lead ...
    (microsoft.public.dotnet.framework.webservices)
  • 1st invocation of Web Service from client is very slow - solution?
    ... people complaining that 1st invocation of a Web Service can be very ... writing the client proxy yourself). ... remote methods do not change signature, and get the proxy to compile ...
    (microsoft.public.dotnet.framework.webservices)
  • Re: Attachments.Add - Object reference not set to an instance of an object.
    ... webservice projects in a signle solution, Visual Studio does not create the ... webservice to the client project; ... Visual Studio created the proxy ... > Enable Microsoft Web Service Enhancement SOAP Extension are checked. ...
    (microsoft.public.dotnet.framework.webservices)
  • XsdObjectGen classes in Web Service Client Proxy
    ... Does anyone know how I can get a web service client proxy to use classes ... class and not the more user-friendly XsdObjectGen class. ...
    (microsoft.public.dotnet.framework.aspnet.webservices)