use JSON::XS;
use Data::Dump qw(dump);
-our $crmxml;
-require "/opt/managment_tools/etc/config.pl";
+has 'crmxml' => ( isa => 'Str', is => 'ro', default => 'http://192.168.5.22/nms/ws.php' );
-use lib '/opt/managment_tools/lib';
-use H1::CRM;
+require RPC::XML;
+require RPC::XML::Client;
+
+$RPC::XML::ENCODING = "utf-8"; # FIXME really used?
sub prefix { 'CRM_' }
return "$orig ($job_name)";
}
-my $crm = H1::CRM->new($crmxml);
+sub begin {
+ my ( $self, $job, $workload ) = @_;
+ warn "# begin ", dump( $workload );
+}
sub username : Job : MinProcesses(1) : MaxProcesses(5) : Encode {
my ( $self, $job, $workload ) = @_;
warn "# username ",dump($workload);
- my @out = $crm->search({ USERNAME => '%' . $workload . '%' });
- warn "# out = ",dump(@out);
- return shift @out;
+ my $cli = RPC::XML::Client->new($self->crmxml);
+ my $resp = $cli->send_request('search',RPC::XML::array->new(
+ USERNAME => '%' . $workload . '%'
+ ));
+ return ref $resp ? $resp->value->[0] : { error => $resp };
}
sub encode {
my ( $self, $result ) = @_;
- return JSON::XS::encode_json($result);
+ my $json = JSON::XS::encode_json($result);
+ warn "## ", dump $json;
+ return $json;
}
1;