web service issue

E

esource

hi all
I created a web service with one web method:
<WebMethod()> Public Function RequestPremium(ByVal web_request As
XmlDocument) As XmlDocument

it basically accepts a xmldocument then queries a database and returns
results in a xmldocument
I've confirmed that the code in the web method works, it fails when
the web method tries to return the new xmldocument:
last couple of lines in web method...
o_xmlreturn.Save("C:\temp\WS.xml") ' this works, xmldocument has
data and saves to the web server in c:temp
RequestPremium = o_xmlreturn ' this fails when it returns back to
calling program

my calling program is just a test windows vb.net app. the calling
lines are
ws_webservice = New WebService.POCservice ' web reference
ws_webservice.Credentials = New System.Net.NetworkCredential("user",
"pwd", "domain")
xml_return = ws_WIS_webservice.RequestPremium(xml_send)

error message in calling program is:
"system.invalidcastexception: specified cast is not valid"

can you return a xmldocument in a web service? I passed one and it
worked fine, just won't return it
any help would be appreciated. thanks
 
G

Guest

If I recall correctly, it will be happier returning an XmlNodeList or
XmlDocumentFragment. Try that.
Peter
 
J

John Saunders [MVP]

esource said:
hi all
I created a web service with one web method:
<WebMethod()> Public Function RequestPremium(ByVal web_request As
XmlDocument) As XmlDocument

it basically accepts a xmldocument then queries a database and returns
results in a xmldocument
I've confirmed that the code in the web method works, it fails when
the web method tries to return the new xmldocument:
last couple of lines in web method...
o_xmlreturn.Save("C:\temp\WS.xml") ' this works, xmldocument has
data and saves to the web server in c:temp
RequestPremium = o_xmlreturn ' this fails when it returns back to
calling program

my calling program is just a test windows vb.net app. the calling
lines are
ws_webservice = New WebService.POCservice ' web reference
ws_webservice.Credentials = New System.Net.NetworkCredential("user",
"pwd", "domain")
xml_return = ws_WIS_webservice.RequestPremium(xml_send)

error message in calling program is:
"system.invalidcastexception: specified cast is not valid"

can you return a xmldocument in a web service? I passed one and it
worked fine, just won't return it
any help would be appreciated. thanks

You say that the exception is in the calling code, yet you posted the code
of the service. Did you look at the calling code (that is, at the proxy
class)?

If you look at your proxy class (Reference.vb usually), you'll see that the
proxy method returns XmlNode, not XmlDocument.
 
E

esource

You say that the exception is in the calling code, yet you posted the code
of the service. Did you look at the calling code (that is, at the proxy
class)?

If you look at your proxy class (Reference.vb usually), you'll see that the
proxy method returns XmlNode, not XmlDocument.

thanks both of you.
Your right, I checked the web reference in my calling program in
reference.vb and the implementation was xmlnode even though I declared
it as xmldocument in my web service. I changed it and it worked.
thanks again
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top