Hallo,
Ik ben bezig om met een webservices te werken, ik kan al redelijk met de methodes van de webservices communiceren. Echter zit ik nu wel behoorlijk vast. Ik heb een inlog script geschreven, die eerst valideert of er ingelogt mag worden en vervolgens de data die bij de username hoort opvraagt om deze in een sessie te plaatsen, zodat er naar het gedeelte van de site kan worden geredirct waarvoor je moet zijn ingelogt. Ik gebruik hiervoor ook een api key, om het script zelf mee te valideren.
Echter het probleem is het volgende, als ik de api key fout mee stuur krijg ik een fatal error, op de line waar ""apiKey" => "$key"," staat. maar dit is eigenlijk niet wat ik wil krijgen. De webservice zelf heeft namelijk een ingebouwde class die fouten met de API key afhandeld. Alleen door de fatal error krijg ik niets terug. Ik heb al geprobeerd een try en catch in te bouwen. Maar dan blijft hij volgens mij ook hangen op het zelfde punt, maar laat hij geen error zien. Ik blijf dan namelijk gewoon hangen in het inlog script en zie een lege pagina voor mij. Dit is het script wat ik gebruik:
try{
$client = new SoapClient("http://portal.webservice.com/AccountService.svc?singleWsdl");
}
Catch(exception $e){
$response = $client->CheckUserCridentialsValid(array(
"apiKey" => "$key",
"userName" => "$username",
"password" => "$password"));
if($response->CheckUserCridentialsValidResult) {
$response_model = $client->Account(array(
"apiKey" => "$key",
"userName" => "$username"));
$_SESSION['AccountID'] = $response_model->AccountResult->AccountID;
$_SESSION['UserName'] = $username;
redirect_to('index.php');
} else {
$_SESSION['username'] = $username;
$_SESSION['message'] = $message = "Username or Password incorrect! <br>";
redirect_to('welcome.php');
}}
ik weet niet of dit uberhaupt mogelijk is met PHP en of ik wel op de juiste manier dit probleem probeer aan te pakken. Ik hoop ook dat de vraag duidelijk is anders, hoor ik dat ook graag!
1.010 views