my $heartbeat = SOAP::Lite->new(proxy => $proxy); $heartbeat->default_ns('lws:Heartbeat'); $heartbeat->autotype(0); $heartbeat->transport->timeout(1); $self->heartbeat($heartbeat); my $state = 1; my (@hbArgs) = ( SOAP::Data->name( 'deviceName' => $self->{id} ), SOAP::Data->name( 'username' => $self->{userName} ), SOAP::Data->name( 'sessionId' => $self->sessInfo->{sessionId} ), SOAP::Data->name( 'state' => $state ), SOAP::Data->name( 'taskId' => $self->{taskId} ), SOAP::Data->name( 'location' => ''), ); my (@obj) = SOAP::Data->name( 'obj' => \SOAP::Data->value( @hbArgs, ), ); my (@message) = SOAP::Data->name( 'message' => \SOAP::Data->value( @obj, ), ); print "Let's try\n"; $self->call( "heartbeat", "sendPulse", \@message); print "WE're back!!\n";