How to pass a user defined type to a Webservice?

Discussion in 'ASP .Net Web Services' started by Henke, Aug 14, 2003.

  1. Henke

    Henke Guest

    I know the webservice can have methods that take (some) .NET types as
    arguments, but is it possible to write a method that takes a user defnined
    class as a parameter? If yes, can someone please show me an example?

    Thanks in advance?

    /Henke
    Henke, Aug 14, 2003
    #1
    1. Advertising

  2. Henke

    Henke Guest

    Can the classes have any methods or am I stuck to creating clases with
    public properties, only?
    /Henke

    "Wor Tony" <> skrev i meddelandet
    news:%...
    > "Henke" <> wrote in message
    > news:...
    > > I know the webservice can have methods that take (some) .NET types as
    > > arguments, but is it possible to write a method that takes a user

    defnined
    > > class as a parameter? If yes, can someone please show me an example?
    > >
    > > Thanks in advance?
    > >
    > > /Henke
    > >

    > Create your class in your chosen .Net language (or create an .xsd schema
    > and generate the classes using xsd.exe).
    >
    > Write your webmethod:
    > [WebMethod]
    > public MyReturnClass AcceptMyClass(MyInputClass myInputClass)
    > {
    > // do something with the input class and return an instance of
    > // MyReturnClass
    > }
    >
    > that's about it!
    >
    > HTH
    >
    > Wor Tony
    > Nottingham - UK
    >
    >
    Henke, Aug 18, 2003
    #2
    1. Advertising

  3. "Henke" <> wrote in message
    news:%...
    > Can the classes have any methods or am I stuck to creating clases with
    > public properties, only?
    > /Henke
    >

    The classes can have methods, but these methods are not serialized, as they
    never contain state...
    Clients need to have objects with the same properties, but they don't need
    to have these methods...
    Sam Vanhoutte, Aug 18, 2003
    #3
  4. Henke

    Simon Smith Guest

    "Wor Tony" <> wrote in message news:<>...
    > "Sam Vanhoutte" <> wrote in message
    > news:...
    > >
    > > "Henke" <> wrote in message
    > > news:%...
    > > > Can the classes have any methods or am I stuck to creating clases with
    > > > public properties, only?
    > > > /Henke
    > > >

    > > The classes can have methods, but these methods are not serialized, as

    > they
    > > never contain state...
    > > Clients need to have objects with the same properties, but they don't need
    > > to have these methods...
    > >

    > Yep. As Sam has already said, no methods, just public properties.
    >
    > If you create an xsd, then the client and your web service can validate the
    > objects using
    > schema validation.
    >
    > HTH
    >
    > AP
    > Nottingham - UK


    The way to do this is:

    First create the classes you want to send in a separate assembly. In
    the Web Service project reference that assembly and construct and
    return the class you want.
    In the Client project reference the assembly containing the class(es)
    you want to sent. Then create (or update) the Web Reference.
    Now open up the Reference.cs associated with the Web reference. At the
    bottom you will find a class definition containing the fields og the
    class as public fields. DELETE THIS BIT OF CODE!
    At the top of the Reference.cs add a 'using' for the assembly which
    contains the passed class, and add the same using wherever you call
    the Web Service. Compile. Go.

    If later you update the Web reference the deleted class definition
    will be reinstated and the client will not compile. Fine. Go back and
    delete the generated class definition and add the using to the
    Reference.cs and all will be OK.

    HTH
    Simon Smith, Sep 1, 2003
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Oodini
    Replies:
    1
    Views:
    1,767
    Keith Thompson
    Sep 27, 2005
  2. Replies:
    2
    Views:
    424
  3. Replies:
    1
    Views:
    447
    Sylvester Hesp
    May 16, 2007
  4. Replies:
    1
    Views:
    498
    Sion Arrowsmith
    Jul 10, 2008
  5. Lyes Amazouz
    Replies:
    2
    Views:
    283
    Lyes Amazouz
    Aug 20, 2008
Loading...

Share This Page