Getting at raw XML as well as objects
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
"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
WSearchParam .WidgetTypeId = int.Parse
WidgetWS.Widget Ws = AEWS.GetWidgets(WSearchParam);
foreach (WidgetWS.Widget W in Ws)
TableRow r = new TableRow();
TableCell c = new TableCell();
c.Text = W.WidgetName;
c = new TableCell();
c.Text = W.WidgetType();
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
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
Thanks in advance.
Re: Getting at raw XML as well as objects
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" <email@example.com> wrote in message
> 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.
|All times are GMT. The time now is 08:55 PM.|
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.