XML API Probleme

Fragen Rund um den Quelltext.
Lehrling
Beiträge: 0
Registriert: Do 27. Apr 2017, 05:31

Re: XML API Probleme

Beitragvon Lehrling » Mo 8. Mai 2017, 05:53

Moin moin,

ne das glaub ich nicht da ich auf die 17.1 beta schon gewechselt habe.

Wie schon geschreiben, GruppeCreate und auch AdresseCreate geht nur BenutzerCreate seltsamerweise Nicht da bekomme ich halt fehlermeldung >5< >Falscher Schlüssel(ID)<

Grüße

sauterbe
Administrator
Beiträge: 6
Registriert: Mi 31. Dez 2014, 13:34

Re: XML API Probleme

Beitragvon sauterbe » Mo 8. Mai 2017, 06:06

da passiert eigentlich nicht viel


die 5er meldungen kommen direkt am Anfang. Siehst du da was? Wie gesagt ich habe es grad probiert bei mir legt er den Benutzer an.

ich hatte erst eine adresse angegeben die es nicht gab. Und den Benutzername darf es natürlich auch nicht geben.

Code: Alles auswählen

 function ApiBenutzerCreate()
  {
    $xmldata = $this->XMLPost();
    // pruefe ob es adresse gibt
    $adressecheck = $this->app->DB->Select("SELECT id FROM adresse WHERE id='".$xmldata["adresse"]."' LIMIT 1");
    if($adressecheck <=0)
      $this->XMLResponse(5);

    // pruefe ob es username gibt
    $usercheck = $this->app->DB->Select("SELECT id FROM user WHERE username='".$xmldata["username"]."' LIMIT 1");
    if($usercheck > 0)
      $this->XMLResponse(5);

    $felder = $xmldata;

    if($felder['type']!="admin")
    {
      $rechtevorlage = $felder['type'];
      $felder['vorlage']=$rechtevorlage;
      $felder['type']="standard";
    }

    $id = $this->app->erp->CreateBenutzer($felder);
    foreach($xmldata as $key=>$value)
    {
      if(is_array($value))$value="";

      if($key=="sonstiges") $value = strip_tags(html_entity_decode($value));
      if($key!="id")
        $this->app->DB->Update("UPDATE `user` SET $key='$value' WHERE id='$id' LIMIT 1");
    }
    if(empty($xmldata['passwordunenescaped']) && empty($xmldata['passwordsha512']))$this->app->DB->Update("UPDATE `user` SET salt = '', passwordsha512 = '' WHERE id = '$id' LIMIT 1");

    $this->app->erp->AbgleichBenutzerVorlagen();
    $this->XMLResponse(1,"<id>$id</id>");
    exit;
  }

Lehrling
Beiträge: 0
Registriert: Do 27. Apr 2017, 05:31

Re: XML API Probleme

Beitragvon Lehrling » Mo 8. Mai 2017, 06:40

Moin,

hmmm dein code siht jetzt auch ganz anders aus als der aus der API-Dokumentation.

Den hab ich nämlich genommen und natürlich die Anpassungen für mein System gemacht.

Code: Alles auswählen

<?php
$hash = generateHash();
 
$xml = "	<activ>1</activ>
			<username>Musterbenutzer</username>
			<adresse>12</adresse>
        		<passwordmd5>88a1e6fbe7b4e04128622929ebc9b35f</passwordmd5>
        		<type>standart</type>
                	<externlogin>1</externlogin>";
 
 
$output_xml = SendRequest("BenutzerCreate",$xml,$hash); 
 
function generateHash()
{
 
    $initKey = '12345';
    $remoteDomain = 'http://127.0.0.1';
    $date = gmdate('dmY');
    $hash = "d91a27deb2ffba007ae468afafb82e9e9cdb7954";
 
    for($i = 0; $i <= 200; $i++) 
        $hash = sha1($hash . $initKey . $remoteDomain . $date);
 
    return $hash;
}
 
function SendRequest($methodname,$xml,$hash)
{
 
    $url = 'http://127.0.0.1/www/index.php?module=api&action='.$methodname.'&hash='.$hash;
 
    $xml = '<?xml version="1.0" encoding="UTF-8"?>
            <request>
                <status>
                    <function>'.$methodname.'</function>
                </status>
                <xml>'.$xml.'</xml>
            </request>';
 
    $data = array('xml' => $xml, 'md5sum' => md5($xml));
 
    // use key 'http' even if you send the request to https://...
    $options = array(
                   'http' => array(
                   'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
                   'method'  => 'POST',
                   'content' => http_build_query($data),
                   ),
               );
 
    $context  = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return $result;
}
 
$obj = simplexml_load_string($output_xml);
echo "<pre>";
print_r($obj);
echo "</pre>";
 
?>
Adresse 12 existiert im übrigen, hab ich extra schon geschaut!

Hab auch grade mal, weil ja das andere Fuktioniert, den BenutzerEdit aus der API-Dokumentation genommen und bekomme da auch die Fehlermeldung 5.

Lehrling
Beiträge: 0
Registriert: Do 27. Apr 2017, 05:31

Re: XML API Probleme

Beitragvon Lehrling » Mo 8. Mai 2017, 08:38

Moin,

mir ist noch eine Frage eingefallen,
Wo in der Datenbak werden die informationen, zum beispiel nach erfolgreichen AdresseCreate, gespeichert? Ich finde zwar unter der Tabelle Adresse die ID die nach der erfolgreichen eingabe angezeigt wird aber die Spalten haben keinen Inhalt.

Grüße
Dateianhänge
Auswahl_002.png
Auswahl_002.png (13.11 KiB) 1189 mal betrachtet
Auswahl_003.png
Auswahl_003.png (9.84 KiB) 1189 mal betrachtet

sauterbe
Administrator
Beiträge: 6
Registriert: Mi 31. Dez 2014, 13:34

Re: XML API Probleme

Beitragvon sauterbe » Do 11. Mai 2017, 03:31

die sollte da eigentlich sein wenn man einen wert angegeben hatte

Lehrling
Beiträge: 0
Registriert: Do 27. Apr 2017, 05:31

Re: XML API Probleme

Beitragvon Lehrling » Do 11. Mai 2017, 07:07

Moin Moin,

ja sollte sind aber nicht.

Grüße

Lehrling
Beiträge: 0
Registriert: Do 27. Apr 2017, 05:31

Re: XML API Probleme

Beitragvon Lehrling » Do 11. Mai 2017, 08:49

Moin,

gibt es eigentlich auch eine css Datei für die Ausgabe von XML Dateien oder muss man die immer selber schreiben?

Grüße