axiscStubGetSOAPFault renvoie un pointeur sans "SoapFau

configuration Apache, Zend et PHP , Web services
Répondre
thomas.barberot
Messages : 58
Enregistré le : jeu. 12 avr. 2012, 14:50:53

axiscStubGetSOAPFault renvoie un pointeur sans "SoapFau

Message par thomas.barberot »

Bonjour.

Sur les appels de web service, j'ai implémenté la gestion des "SoapFault" comme ceci :

Déclarations :

Code : Tout sélectionner

       // Gestion des soapFault
     dlFaultPtr        s               *   inz
     dlFaultCode       s             64    inz
     dlFaultString     s            128    inz
     dlFaultActor      s            128    inz
     dlFaultDetail     s            128    inz 
Interception après la réception de la réponse :

Code : Tout sélectionner

          lFaultPtr = axiscStubGetSOAPFault(pHandler);
          if &#40;lFaultPtr <> *null&#41;;
             lFaultCode = %str&#40;axiscSoapFaultGetFaultcode&#40;lFaultPtr&#41;&#41;;
             lFaultString = %str&#40;axiscSoapFaultGetFaultstring&#40;lFaultPtr&#41;&#41;;
             lFaultActor = %str&#40;axiscSoapFaultGetFaultactor&#40;lFaultPtr&#41;&#41;;
             lFaultDetail = %str&#40;axiscSoapFaultGetSimpleFaultDetail&#40;lFaultPtr&#41;&#41;;
          endif;                                                                   
Le code tourne en boucle pour appeler le service. Les 13 premiers appels ne détectent pas de "SoapFault", alors que le 14ème en détecte une. Sauf que :
- Pas de faute dans la réponse (la réponse est identique aux 13 précédentes ( {"statut":"OK","message":"Numéro valide"} )
- L'appel de la procédure "axiscSoapFaultGetFaultcode" plante pour un paramètre manquant (MCH3601 - Pointeur non défini pour position mémoire référencée).

Quelqu'un a-t'il déjà rencontré un problème identique ?

Merci.
Thomas

nbonnet
Messages : 197
Enregistré le : mar. 11 sept. 2018, 08:20:13
Localisation : Lyon

(sans sujet)

Message par nbonnet »

Bonjour,

on parle bien de service SOAP appelé ?

Cela ne semble pas possible avec :
{"statut":"OK","message":"Numéro valide"}
Nathanaël

thomas.barberot
Messages : 58
Enregistré le : jeu. 12 avr. 2012, 14:50:53

(sans sujet)

Message par thomas.barberot »

C'est un service REST qui est appelé... Du coup, pas de SoapFault possible, c'est ça ?
Thomas

nbonnet
Messages : 197
Enregistré le : mar. 11 sept. 2018, 08:20:13
Localisation : Lyon

(sans sujet)

Message par nbonnet »

Effectivement : SOAPFault définie une erreur pour un service SOAP uniquement

Cf la norme : https://www.w3.org/TR/soap12/#soapfault

Pour les services REST, il faut commencer par récupérer la réponse et le code HTTP (n'est disponible qu'après avoir lu la réponse). Ensuite cela dépend des services ...
Nathanaël

thomas.barberot
Messages : 58
Enregistré le : jeu. 12 avr. 2012, 14:50:53

(sans sujet)

Message par thomas.barberot »

Oui, c'est en lisant ta question que je me suis rendu compte de la boulette :oops:
Merci Nath.
Thomas

thomas.barberot
Messages : 58
Enregistré le : jeu. 12 avr. 2012, 14:50:53

(sans sujet)

Message par thomas.barberot »

Question : on peut mettre les sujets en "résolu" ? Je ne trouve pas d'action à ce sujet.
Thomas

admin
Site Admin
Messages : 27
Enregistré le : mer. 14 févr. 2007, 17:24:50
Localisation : Carquefou (Nantes)
Contact :

(sans sujet)

Message par admin »

pas avec cette version, navré.

Christian

Répondre