Getting at raw XML as well as objects

Discussion in 'ASP .Net Web Services' started by ben curthoys, Aug 22, 2003.

  1. ben curthoys

    ben curthoys Guest

    Suppose I have a webservice "WidgetWS.asmx", that exposes
    one WebMethod that takes an
    object "WidgetSearchParameters" as a parameter and returns
    an array of "Widget" objects.

    If I write a dotNET client for this webservice, and add a
    WebReference to my
    WebService, then the VS.NET2003 IDE very helpfully creates
    a bunch of proxy
    classes in the client that represent the public properties
    of the
    "WidgetSearchParameters" and "Widget" objects.

    I can call the method, and manually go through all my
    proxy classes and
    create output, using code not entirely unlike this:

    WidgetWS.WidgetWS AEWS = new WidgetWS.WidgetWS();
    WidgetWS.WidgetSearchParameters WSearchParam = new
    WidgetWS.WidgetSearchParameters();
    WSearchParam .WidgetTypeId = int.Parse
    (txtWidgetTypeId.Text);;
    WidgetWS.Widget[] Ws = AEWS.GetWidgets(WSearchParam);

    foreach (WidgetWS.Widget W in Ws)
    {
    TableRow r = new TableRow();

    TableCell c = new TableCell();
    c.Text = W.WidgetName;
    r.Cells.Add(c);
    c = new TableCell();
    c.Text = W.WidgetType();
    r.Cells.Add(c);
    tblWidgets.Rows.Add(r);
    }

    and this is very useful and absolutely necessary.

    but in certain circumstances, I don't want to go to all
    this trouble. What
    I'd like to go is get the actual raw XML respose that I
    see in my browser
    when I hit the "Invoke" button on the standard
    autogenerated WebService info
    pages, and simply transform it with an XSL and squirt the
    result directly at
    the user without writing any asp code.

    And I can't for the life of me work out how to do this. It
    seems that once
    you've allowed the Microsoft WebService classes to hide
    come of the
    complexity of calling a webservice from you, you're never
    allowed back to
    the raw XML.

    Please note that I don't want the WebService to return an
    XMLnode or
    XMLdocument object - in general I want it to do the proxy
    class thing, and
    it's just a few cases that it would be cool to use the
    XML+XSL to create the
    user output.

    Thanks in advance.

    Ben.
    ben curthoys, Aug 22, 2003
    #1
    1. Advertising

  2. The deserialization process places the XML data into an instance of the
    class. This process is not reversible unless you serialize the instance.

    You could always just use XmlElement as the parameter -- using the raw XML
    and then deserialize this XML into an instance whenever you wanted to do so.
    There are a couple of other ways to do this as well -- SoapExtension,
    strongly-typed wrapper, etc. but in any case the serialization engine
    doesn't keep the XML around.

    This posting is provided "AS IS" with no warranties, and confers no rights.

    "ben curthoys" <> wrote in message
    news:05f401c368b8$a7a1dd20$...
    > What
    > I'd like to go is get the actual raw XML respose that I
    > see in my browser
    > when I hit the "Invoke" button on the standard
    > autogenerated WebService info
    > pages, and simply transform it with an XSL and squirt the
    > result directly at
    > the user without writing any asp code.
    >
    > And I can't for the life of me work out how to do this. It
    > seems that once
    > you've allowed the Microsoft WebService classes to hide
    > come of the
    > complexity of calling a webservice from you, you're never
    > allowed back to
    > the raw XML.
    >
    > Please note that I don't want the WebService to return an
    > XMLnode or
    > XMLdocument object - in general I want it to do the proxy
    > class thing, and
    > it's just a few cases that it would be cool to use the
    > XML+XSL to create the
    > user output.
    >
    > Thanks in advance.
    >
    > Ben.
    >
    >
    Douglas Purdy \(MSFT\), Aug 23, 2003
    #2
    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. Doug Day
    Replies:
    0
    Views:
    382
    Doug Day
    Jun 22, 2004
  2. Derek Basch
    Replies:
    4
    Views:
    370
    Peter Otten
    May 26, 2004
  3. Erik Johnson

    cgi: getting at raw POST data?

    Erik Johnson, Feb 26, 2005, in forum: Python
    Replies:
    3
    Views:
    1,148
    Tim Roberts
    Feb 27, 2005
  4. 7stud
    Replies:
    11
    Views:
    673
    Dennis Lee Bieber
    Mar 20, 2007
  5. Rich Fowler
    Replies:
    2
    Views:
    1,276
    Rich Fowler
    Jan 22, 2010
Loading...

Share This Page