web service issue

Discussion in 'ASP .Net' started by esource, Aug 1, 2007.

  1. esource

    esource Guest

    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
    esource, Aug 1, 2007
    #1
    1. Advertising

  2. If I recall correctly, it will be happier returning an XmlNodeList or
    XmlDocumentFragment. Try that.
    Peter
    --
    Recursion: see Recursion
    site: http://www.eggheadcafe.com
    unBlog: http://petesbloggerama.blogspot.com
    bogMetaFinder: http://www.blogmetafinder.com



    "esource" wrote:

    > 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
    >
    >
    =?Utf-8?B?UGV0ZXIgQnJvbWJlcmcgW0MjIE1WUF0=?=, Aug 1, 2007
    #2
    1. Advertising

  3. "esource" <> wrote in message
    news:...
    > 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.
    --
    John Saunders [MVP]
    John Saunders [MVP], Aug 1, 2007
    #3
  4. esource

    esource Guest

    On Aug 1, 5:34 pm, "John Saunders [MVP]" <john.saunders at
    trizetto.com> wrote:
    > "esource" <> wrote in message
    >
    > news:...
    >
    >
    >
    >
    >
    > > 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.
    > --
    > John Saunders [MVP]- Hide quoted text -
    >
    > - Show quoted text -


    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
    esource, Aug 2, 2007
    #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. hocho888
    Replies:
    1
    Views:
    601
  2. Michael Averstegge
    Replies:
    0
    Views:
    4,191
    Michael Averstegge
    Jan 10, 2006
  3. Not Me
    Replies:
    1
    Views:
    3,164
    Not Me
    Jun 5, 2007
  4. Isaias Formacio Serna

    Web Service that calls an external Web Service

    Isaias Formacio Serna, Jan 28, 2004, in forum: ASP .Net Security
    Replies:
    5
    Views:
    233
  5. Leo Violette
    Replies:
    0
    Views:
    993
    Leo Violette
    Apr 17, 2009
Loading...

Share This Page