NeptunWebservicePPKE

###############################################################################
# Authentikáció a neptunhoz

sub check_neptun($$) {
 my $neptuncode = shift;
 my $neptunpass = shift;
 my $soap = SOAP::Lite->proxy('https://yourhost.example.org/LDAPServices/LDAPServices.svc');
 $soap->default_ns('http://niif.hu/neptunszinkron/OktatasiAdatok');
 $soap->on_action(sub { "http://niif.hu/neptunszinkron/OktatasiAdatok/OktatasiAdatokPortType/isNeptunTag" });

 my $som = $soap->call("isNeptunTag",
 SOAP::Data->type('xml' =>
 '<oLDAPLoginAdat><LoginNev xmlns="http://niif.hu/neptunszinkron/NeptunTag">'.$neptuncode.'</LoginNev>
<Jelszo xmlns="http://niif.hu/neptunszinkron/NeptunTag">'.$neptunpass.'</Jelszo></oLDAPLoginAdat>')
 );
 telluseranddie( "Neptun hiba!", $som->fault->{ faultstring }) if ($som->fault);
 if($som->result->{"Tag"} eq 'true') {
 logit( "neptun check ok\n");
 }
 else {
 telluseranddie("Hibás neptunkód vagy jelszó!\n","neptun check is NOT ok");
 }
}

################################################################################
# Személyi adatok lekérdezése neptun kód alapján

sub getuser_data_szemelyi($) {
 my $neptuncode = shift;

 my $soap = SOAP::Lite->proxy('https://yourhost.example.org/LDAPSzemelyi/LDAPWCFSzemelyiAdatok.svc');
 $soap->default_ns('http://niif.hu/neptunszinkron/SzemelyiAdatok');
 $soap->on_action(sub { "SzemelyiAdatokByNeptunKodokSzinkronRequest" });

 my $som = $soap->call("SzemelyiAdatokByNeptunKodok",
 SOAP::Data->name('NeptunKodok' =>
 \SOAP::Data->name('kod' =>
 \SOAP::Data->name('string' => $neptuncode)
 )
 )
 );
 die $som->fault->{ faultstring } if ($som->fault);
 return $som->result->{"Szemely"};
}
################################################################################
# Szervezei kapcsolódások neptun kód alapján

sub getuser_data_szervezetikapcsolat($) {
 my $neptuncode = shift;
 my $soap = SOAP::Lite->proxy('https://yourhost.example.org/LDAPServices/LDAPServices.svc');
 $soap->default_ns('http://niif.hu/neptunszinkron/OktatasiAdatok');
 $soap->on_action(sub { "http://niif.hu/neptunszinkron/OktatasiAdatok/OktatasiAdatokPortType/SzervezetiKapcsolatAdatok" });

 my $som = $soap->call("SzervezetiKapcsolatAdatok",
 SOAP::Data->name('NeptunKodok' =>
 \SOAP::Data->name('kod' =>
 \SOAP::Data->name('string' => $neptuncode)
 )
 )
 );
 die $som->fault->{ faultstring } if ($som->fault);
 return $som->result->{"SzervezetiKapcsolatAdat"};
}