Php krijg een fatal error maar ik moet een error krijgen van een webservices

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter van Hummol

Peter van Hummol

19/07/2015 19:03:46
Quote Anchor link
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!
 
PHP hulp

PHP hulp

17/05/2024 13:41:42
 
Thomas van den Heuvel

Thomas van den Heuvel

19/07/2015 19:37:52
Quote Anchor link
Heb je al geprobeerd:
- errors weer te geven (error_reporting en display_errors)
- je logs er op na te slaan
- de documentatie van de API / gebruikte code te raadplegen
- te googlen naar dit euvel
?
 
Peter van Hummol

Peter van Hummol

19/07/2015 19:47:07
Quote Anchor link
ja, ik krijg dus een fatal error: Fatal error: Uncaught SoapFault exception: [s:Client] Wrong apiKey in... . Ik zal eens google hoe ik mijn log er op na moet slaan. PHP Error logs? en googled heb ik de hele middag. Maar ik weet dus niet of wel naar het goeie google. php catch exception and continue, maar ik kom er niet helemaal uit. Heb nog nooit met webservices gewerkt of met catch en try.
 
Thomas van den Heuvel

Thomas van den Heuvel

19/07/2015 21:59:05
Quote Anchor link
Je krijgt fatal errors als een exception niet opgevangen wordt. Blijkbaar extend SoapFault niet van Exception (dat is wat je catcht).

Verder staat er vrij duidelijk: "wrong apiKey" oftewel je credentials kloppen niet.

Wat je dus moet doen om deze fouten op te vangen / op te lossen is:
- het juiste type opvangen
- je parameters zelf fixen
Gewijzigd op 19/07/2015 21:59:41 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.