je le code PHP suivant sur une page Web:exception ne pas être pris
$wsdl_url = "someURL?wsdl";
try {
$client = new SoapClient($wsdl_url, array('login' => 'mylogin','password' => 'mypassword'));
$client->myWebMethod(); // <-- problem call
} catch (Exception $e) {
echo "none";
}
Il est un appel de base à un service Web. Le problème est que lorsqu'une erreur est lancée sur la ligne $client->myWebMethod()
, echo "none"
n'est pas imprimée. En fait, rien dans le bloc catch
ne s'exécute. Par conséquent, je ne pense pas que l'exception soit prise.
Une erreur fatale est affichée sur la page Web.
Question: Des idées sur pourquoi cela se passe-t-il? Je m'attendais à ce que toutes les exceptions soient interceptées et traitées avec ce code. Mais ce que je reçois, c'est que l'erreur fatale est affichée sur la page. Peut-être que les services Web sont gérés différemment?
EDIT: l'erreur est qu'il manque un tas de paramètres requis. si j'ajoute les paramètres, l'appel fonctionne correctement. J'omets délibérément les paramètres pour obtenir l'erreur, donc je saurais comment la gérer.
L'erreur est quelque chose comme: Erreur fatale: SOAP ERREUR: Object n'a pas 'myparameter1'
Merci à l'avance.
On dirait plutôt qu'une exception n'est pas * lancée *. Voyons le code de 'myWebMethod()'. – webbiedave
Quelle est l'erreur fatale? –
Pourquoi pensez-vous que ce code est erroné? –