Skip to main content.
home | support | download

Back to List Archive

Re: SWISH::API and my lame perl skillz....

From: Bill Moseley <moseley(at)not-real.hank.org>
Date: Mon Jan 24 2005 - 23:47:10 GMT
I'm not seeing what the problem is, either, although I'm not sure I'd
trust that the message is (or isn't) a problem in SOAP just because of
those errors (in your later message).

The message is also odd.  I assume that you are not really using
"fields" in your program.

On Mon, Jan 24, 2005 at 01:26:18PM -0800, Brad Miele wrote:
> my $i = 1; my @swish_return;
> while ( (my $result = $results->NextResult) && ($i <=  $max_res) )
> {
>                 my $res;
>                 my @props = $result->PropertyList; my $prop;
>                         foreach $prop(@props){
>                         $res->{$prop->Name}=$result->Property( $prop->Name );
>                         }
>                 push (@swish_return,$res);
>                 $i++;
> }

Seems very unlikely, but I wonder if the undef are somehow causing
problems in the serialization.  What if you do:

            my %res;
            for my $prop ( @props );
                my $name = $prop->Name;
                my $prop_value = $result->Property( $name );
                next unless $prop_value;
                $res{ $name } = $prop_value;
            }
            push @swish_return, \%res;

Again, I can't imagine why that could would work any differently.

I tried locating the source of those messages in SOAP::Lite, but
didn't find it.

I'd probably install carp and have it do a back trace (via a
$SIG{__DIE__} handler) and take a closer look at the data at the point
of the error.  Oh, not sure that will work, either, as it seems
$SIG{__DIE__} is localized in places.

Another thing I might try (stabbing in the dark) is to serialize the
object with, say, Storable or Data::Dumper and then work on the
problem outside of any of your search code.  Might give you some hints
of where to look next.

-- 
Bill Moseley
moseley@hank.org

Unsubscribe from or help with the swish-e list: 
   http://swish-e.org/Discussion/

Help with Swish-e:
   http://swish-e.org/current/docs
   swish-e@sunsite.berkeley.edu
Received on Mon Jan 24 15:47:10 2005