Autor Zpráva
notwist
Profil
Zdravím,

používám SOAP a mám trochu problém. Pokud použiji funkci bez vstupního parametru, je to OK. Pokud ale použiji parametr, dostanu prázdnou stránku.

function getPeople($pocet)
{
    //$pocet = "10";
    $vysledek=mysql_query("SELECT * FROM t_zamestnanci LIMIT $pocet");
    while ($zaznam = mysql_fetch_array($vysledek))
    {
        $result[] = array('id_person'=>$zaznam['id_zamestnance'],
                            'name'=>$zaznam['prijmeni'],
                            'surname' =>$zaznam['jmeno']
                            );
    }
        
    return $result;
}


$
$server->wsdl->addComplexType(
    'Person',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'id_person' => array('name' => 'id_person', 'type' => 'xsd:int'),
        'name' => array('name' => 'name', 'type' => 'xsd:string'),
        'surname' => array('name' => 'surname', 'type' => 'xsd:string')
        
    )
);

$server->wsdl->addComplexType(
    'PersonArray',
    'complexType',
    'array',
    'all',
    'SOAP-ENC:Array',    
    array(),
    array(array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Person[]')),
    'tns:Person'
);

$server->register('getPeople',
    array('pocet'=>'xsd:string'),
    array('return' => 'tns:PersonArray'),
    'uri:mywsdl',
    'uri:mywsdl#getPeople',
    'rpc',
    'encoded',
    'Získá lidi z databáze'
)

Volám jako:
$result = $client->call("getPeople", "5");

Pokud odstraním komentář v kódu function, tak to funguje správně - ukáže 10 záznamů. Asi bude chyba někde v tom předání? Díky za pomoc, už na to koukám jak z jara a nemůžu najít chybu. Podle mého to musí fungovat...


Vyřešeno: špatně jsem volal výsledek:

Správně:
$result = $client->call("getPeople", array('pocet'=>'10'));
Toto téma je uzamčeno. Odpověď nelze zaslat.