[Israel.pm] SOAP::Lite autodispatch problems

Ephraim Dan E.Dan at F5.com
Wed Apr 20 05:56:00 PDT 2005


Hi Dana,

It looks to me like the problem is that your SFXAdmin::SOAP object
contains a DBI object in it.  This object will not pass over SOAP and
continue to be a real blessed reference.  You will need to re-create the
object in your SFXAdmin::SOAP object that you get back from SOAP with
something like:

$sfxadmin->{dbh} = DBI->new();

Although, in your case it's probably more like:

$sfxadmin->{engine} = IOL::Engine->new();

I think Andres wrote code like that in the SOAP stuff he did for
SFXResolver...

Hope that helps,
Ephraim

> -----Original Message-----
> From: perl-bounces at perl.org.il [mailto:perl-bounces at perl.org.il] On
Behalf
> Of Dana Moshkovits
> Sent: Wednesday, April 20, 2005 15:00
> To: perl at perl.org.il
> Subject: [Israel.pm] SOAP::Lite autodispatch problems
> 
> Hello,
> I have a module that connects to a database and has a couple of
> methods for updating the database, I have a program that uses the
> module and it functions as expected.
> I am trying to use the same module with a SOAP wrapper and here is
> where I need some help:
> 
> 
> This is my client code:
> 
> use SOAP::Lite +autodispatch =>
>     uri => 'SFXAdmin::SOAP',
>     proxy =>
'http://10.1.235.47:3210/dm_3/cgi/core/soap/sfxadmin.cgi';
> 
> my $sfxadmin =SFXAdmin::SOAP->new();
> 
> print
$sfxadmin->acitivate_record('TARGET_SERVICE','111068679117002','1');
> 
> If I dump $sfxadmin the result is as expects i get a SFXAdmin::SOAP
> objcet but the error message that I get when it tries to run the
> method 'acitivate_record' is :
> SV = RV(0x8cb6210) at 0x8cb7420
>   REFCNT = 1
>   FLAGS = (ROK)
>   RV = 0x8cb718c
> SV = RV(0x8cb61c8) at 0x8cb5dbc
>   REFCNT = 1
>   FLAGS = (ROK,READONLY)
>   RV = 0x8cb718c
>         (in cleanup) dbih_getcom handle DBI::db=HASH(0x8cb718c) is not
> a DBI handle (has no magic) at
> /exlibris/sfx_ver/sfx_version_3/dm_3/cgi/core/soap/sfxadmin.cgi line
> 21.
> 
> Any ideas?
> 
> Thanks
> Dana
> 
> By the way this is my server code:
> 
> use SOAP::Transport::HTTP;
> use SFXAdmin::SOAP;
> 
> SOAP::Transport::HTTP::CGI
>     -> dispatch_to('SFXAdmin::SOAP')
>     -> handle;
> 
> exit(0);
> 
> _______________________________________________
> Perl mailing list
> Perl at perl.org.il
> http://perl.org.il/mailman/listinfo/perl




More information about the Perl mailing list