NeptunWebservicePPKE

Innen: KIFÜ Wiki
A lap korábbi változatát látod, amilyen Cstamas(AT)login.ppke.hu (vitalap | szerkesztései) 2010. december 18., 20:43-kor történt szerkesztése után volt. (proxy cím javítása)
###############################################################################
# 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"};
}