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

5.6 vs 5.8 differences??...or...???

Expand Messages
  • mwilkinson@gene.pbi.nrc.ca
    Hi Group, Could I take a couple of minutes of your time to ask some of you to test this small script? I am baffled about why it runs perfectly on one of my
    Message 1 of 3 , Aug 28, 2002
    • 0 Attachment
      Hi Group,

      Could I take a couple of minutes of your time to ask some of you to test
      this small script? I am baffled about why it runs perfectly on one of
      my machines but not on the other. The one that runs it has perl 5.6
      installed, the one that fails has perl 5.8. the error message is
      "Can't locate object method "new" via package "MOBY::Central" (perhaps
      you forgot to load "MOBY::Central"?)"... it's almost as if it is
      completely ignoring the uri parameter...???

      Can a few of you with perl 5.6 or 5.8 installed please try this and let
      me know if you get this error also? I can't think of any other reason
      that might explain why the same simple code works on one machine and not
      the other.

      Please write to me directly so as not to clutter the mailing list.

      Thanks!

      M
      -----------------------------------------------------------------
      #!/usr/bin/perl -w

      use SOAP::Lite +autodispatch =>
      uri => 'http://bioinfo.pbi.nrc.ca:8099/MOBY/Central',
      proxy => 'http://bioinfo.pbi.nrc.ca:8099/cgi-bin/MOBY-Central.pl',
      on_fault => sub {
      my($soap, $res) = @_;
      die ref $res ? $res->faultstring : $soap->transport->status, "\n";
      };


      my $Central = MOBY::Central->new;
      ------------------------------------------------------------------
    • Pierre Denis
      It is probably a bug in perl 5.8 UNIVERSAL::AUTOLOAD is broken in 5.8 and it is used by SOAP::Lite when autodispatch is on Try these 3 examples below, and
      Message 2 of 3 , Aug 29, 2002
      • 0 Attachment
        It is probably a bug in perl 5.8
        UNIVERSAL::AUTOLOAD is broken in 5.8 and it is used by SOAP::Lite when
        autodispatch is "on"

        Try these 3 examples below, and you'll see that UNIVERSAL::AUTOLOAD is
        broken under 5.8 - they all should display "Universal called (Foo::bar)..."
        and the 1st example doesn't...
        Leon Brocard has submitted a perl bug about it.

        Basically, "autodispatch" option is in trouble because of this bug (there
        are some CPAN modules having the same problem).


        ================
        Foo->bar;

        package UNIVERSAL;
        sub AUTOLOAD {
        print "Universal called ($AUTOLOAD)\n";
        }
        ================


        ================
        Foo->bar();
        Foo::boo();

        package UNIVERSAL;
        sub AUTOLOAD {
        print "Universal called ($AUTOLOAD)\n";
        }
        ================


        ================
        Foo->bar;
        Foo::boo;

        package UNIVERSAL;
        sub AUTOLOAD {
        print "Universal called ($AUTOLOAD)\n";
        }
        ================


        Regards

        Pierre Denis
        Development Manager
        Fotango


        > -----Original Message-----
        > From: markw@...
        > [mailto:markw@...]On Behalf Of
        > mwilkinson@...
        > Sent: 28 August 2002 22:29
        > To: soaplite@yahoogroups.com
        > Subject: [soaplite] 5.6 vs 5.8 differences??...or...???
        >
        >
        > Hi Group,
        >
        > Could I take a couple of minutes of your time to ask some of you to test
        > this small script? I am baffled about why it runs perfectly on one of
        > my machines but not on the other. The one that runs it has perl 5.6
        > installed, the one that fails has perl 5.8. the error message is
        > "Can't locate object method "new" via package "MOBY::Central" (perhaps
        > you forgot to load "MOBY::Central"?)"... it's almost as if it is
        > completely ignoring the uri parameter...???
        >
        > Can a few of you with perl 5.6 or 5.8 installed please try this and let
        > me know if you get this error also? I can't think of any other reason
        > that might explain why the same simple code works on one machine and not
        > the other.
        >
        > Please write to me directly so as not to clutter the mailing list.
        >
        > Thanks!
        >
        > M
        > -----------------------------------------------------------------
        > #!/usr/bin/perl -w
        >
        > use SOAP::Lite +autodispatch =>
        > uri => 'http://bioinfo.pbi.nrc.ca:8099/MOBY/Central',
        > proxy => 'http://bioinfo.pbi.nrc.ca:8099/cgi-bin/MOBY-Central.pl',
        > on_fault => sub {
        > my($soap, $res) = @_;
        > die ref $res ? $res->faultstring : $soap->transport->status, "\n";
        > };
        >
        >
        > my $Central = MOBY::Central->new;
        > ------------------------------------------------------------------
        >
        >
        >
        >
        > 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/
        >
        >
      • Paul Kulchenko
        Hi Pierre, Yes, I ve got the same results :(. One workaround is to use dispatch_from option instead of autodispatch . It installs AUTOLOAD method into
        Message 3 of 3 , Aug 29, 2002
        • 0 Attachment
          Hi Pierre,

          Yes, I've got the same results :(. One workaround is to use
          'dispatch_from' option instead of 'autodispatch'. It installs
          AUTOLOAD method into specific package(s) and works with 5.8.

          Another workaround is to use

          MyPackage::foo() if 0;

          somewhere in the code that uses autodispatch, but it looks yucky.

          Best wishes, Paul.

          --- Pierre Denis <pdenis@...> wrote:
          > It is probably a bug in perl 5.8
          > UNIVERSAL::AUTOLOAD is broken in 5.8 and it is used by SOAP::Lite
          > when
          > autodispatch is "on"
          >
          > Try these 3 examples below, and you'll see that UNIVERSAL::AUTOLOAD
          > is
          > broken under 5.8 - they all should display "Universal called
          > (Foo::bar)..."
          > and the 1st example doesn't...
          > Leon Brocard has submitted a perl bug about it.
          >
          > Basically, "autodispatch" option is in trouble because of this bug
          > (there
          > are some CPAN modules having the same problem).
          >
          >
          > ================
          > Foo->bar;
          >
          > package UNIVERSAL;
          > sub AUTOLOAD {
          > print "Universal called ($AUTOLOAD)\n";
          > }
          > ================
          >
          >
          > ================
          > Foo->bar();
          > Foo::boo();
          >
          > package UNIVERSAL;
          > sub AUTOLOAD {
          > print "Universal called ($AUTOLOAD)\n";
          > }
          > ================
          >
          >
          > ================
          > Foo->bar;
          > Foo::boo;
          >
          > package UNIVERSAL;
          > sub AUTOLOAD {
          > print "Universal called ($AUTOLOAD)\n";
          > }
          > ================
          >
          >
          > Regards
          >
          > Pierre Denis
          > Development Manager
          > Fotango
          >
          >
          > > -----Original Message-----
          > > From: markw@...
          > > [mailto:markw@...]On Behalf Of
          > > mwilkinson@...
          > > Sent: 28 August 2002 22:29
          > > To: soaplite@yahoogroups.com
          > > Subject: [soaplite] 5.6 vs 5.8 differences??...or...???
          > >
          > >
          > > Hi Group,
          > >
          > > Could I take a couple of minutes of your time to ask some of you
          > to test
          > > this small script? I am baffled about why it runs perfectly on
          > one of
          > > my machines but not on the other. The one that runs it has perl
          > 5.6
          > > installed, the one that fails has perl 5.8. the error message is
          > > "Can't locate object method "new" via package "MOBY::Central"
          > (perhaps
          > > you forgot to load "MOBY::Central"?)"... it's almost as if it is
          > > completely ignoring the uri parameter...???
          > >
          > > Can a few of you with perl 5.6 or 5.8 installed please try this
          > and let
          > > me know if you get this error also? I can't think of any other
          > reason
          > > that might explain why the same simple code works on one machine
          > and not
          > > the other.
          > >
          > > Please write to me directly so as not to clutter the mailing
          > list.
          > >
          > > Thanks!
          > >
          > > M
          > > -----------------------------------------------------------------
          > > #!/usr/bin/perl -w
          > >
          > > use SOAP::Lite +autodispatch =>
          > > uri => 'http://bioinfo.pbi.nrc.ca:8099/MOBY/Central',
          > > proxy =>
          > 'http://bioinfo.pbi.nrc.ca:8099/cgi-bin/MOBY-Central.pl',
          > > on_fault => sub {
          > > my($soap, $res) = @_;
          > > die ref $res ? $res->faultstring : $soap->transport->status,
          > "\n";
          > > };
          > >
          > >
          > > my $Central = MOBY::Central->new;
          > >
          > ------------------------------------------------------------------
          > >
          > >
          > >
          > >
          > > 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/
          > >
          > >
          >
          >
          > ------------------------ Yahoo! Groups Sponsor
          >
          > 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!?
          Yahoo! Finance - Get real-time stock quotes
          http://finance.yahoo.com
        Your message has been successfully submitted and would be delivered to recipients shortly.