Loading ...
Sorry, an error occurred while loading the content.

Error with SOAP::Lite and DBI

Expand Messages
  • Nate Mueller
    Any of you know the solution? --Nate ... Subject: Re: Error with SOAP::Lite Date: Sat, 30 Jun 2001 09:44:27 -0500 (CDT) From: Dave Rolsky
    Message 1 of 3 , Jul 2, 2001
    • 0 Attachment
      Any of you know the solution?

      --Nate

      -------- Original Message --------
      Subject: Re: Error with SOAP::Lite
      Date: Sat, 30 Jun 2001 09:44:27 -0500 (CDT)
      From: Dave Rolsky <autarch@...>
      To: Nate Mueller <nmueller@...>
      CC: <dbi-users@...>

      On Fri, 29 Jun 2001, Nate Mueller wrote:

      > (in cleanup) dbih_getcom handle 'DBI::st=HASH(0x880e950)' is not a DBI
      > handle (has no magic)

      This happens when a DBI handle is serialized (or if you try to use a
      previously valid DBI handle after a fork). SOAP is somehow serializing
      your handle. There is a way to make it not do that but I forgot what it
      is.

      -dave
    • Paul Kulchenko
      Hi, Nate! One of the reason I can image (yet I didn t see it in practice) is when you use object-by-reference on server side. In this case instead of returning
      Message 2 of 3 , Jul 2, 2001
      • 0 Attachment
        Hi, Nate!

        One of the reason I can image (yet I didn't see it in practice) is
        when you use object-by-reference on server side. In this case instead
        of returning REAL DBI::st object (it can't be properly serialized
        because of tied elements and database handlers) SOAP::Lite returns
        small stub that has ID of object on server side, so when you send is
        back server will access teh real object. This stub is blessed into
        the real class (DBI::st in this case) and if use have 'use DBI' on
        client side THEN perl will try to call a destructor for your object,
        which is not a real object in terms of DBI structure and destructor
        complains.

        How to solve this? Do NOT do 'use DBI' if possible. If you do have
        logic in your client that require to work with real DBI handler and
        fake handler returned by SOAP client there is not much you can do
        except ignoring this message. Again, that's how I understand the
        situation, but I didn't have it in practice and might be wrong in my
        explanation. Hope it helps.

        Best wishes, Paul.

        --- Nate Mueller <nmueller@...> wrote:
        > Any of you know the solution?
        >
        > --Nate
        >
        > -------- Original Message --------
        > Subject: Re: Error with SOAP::Lite
        > Date: Sat, 30 Jun 2001 09:44:27 -0500 (CDT)
        > From: Dave Rolsky <autarch@...>
        > To: Nate Mueller <nmueller@...>
        > CC: <dbi-users@...>
        >
        > On Fri, 29 Jun 2001, Nate Mueller wrote:
        >
        > > (in cleanup) dbih_getcom handle 'DBI::st=HASH(0x880e950)' is not
        > a DBI
        > > handle (has no magic)
        >
        > This happens when a DBI handle is serialized (or if you try to use
        > a
        > previously valid DBI handle after a fork). SOAP is somehow
        > serializing
        > your handle. There is a way to make it not do that but I forgot
        > what it
        > is.
        >
        > -dave
        >
        >
        > To unsubscribe from this group, send an email to:
        > soaplite-unsubscribe@yahoogroups.com
        >
        >
        >
        > Your use of Yahoo! Groups is subject to
        > http://docs.yahoo.com/info/terms/
        >
        >


        __________________________________________________
        Do You Yahoo!?
        Get personalized email addresses from Yahoo! Mail
        http://personal.mail.yahoo.com/
      • Nate Mueller
        ... Thanks, but I don t think that s it. It looks like the person from the DBI list who replied chopped off the SOAP::Lite error stuff. Here it is: (in
        Message 3 of 3 , Jul 2, 2001
        • 0 Attachment
          > One of the reason I can image (yet I didn't see it in practice)

          Thanks, but I don't think that's it. It looks like the person from
          the DBI list who replied chopped off the SOAP::Lite error stuff. Here
          it is:

          (in cleanup) dbih_getcom handle 'DBI::st=HASH(0x880f954)' is not a DBI
          handle (has no magic) at
          /s/perl-5.005/lib/site_perl/5.005/SOAP/Lite.pm line 781.

          This error is given by the client app. The object I'm trying to
          return is an un-blessed hash reference. I've run the program without
          SOAP to confirm this.

          --Nate
        Your message has been successfully submitted and would be delivered to recipients shortly.