FAQ n°20826, publiée le 27/05/2021
Comment supprimer le message "le type de retour n'est pas supporté" lors de la génération d'un Webservice SOAP ?

La génération d'un webservice SOAP pour son déploiement peut échouer avec le message : 


Le type de retour 'Notification' de la fonction 'FonctionDuWebService' n'est pas supporté dans la génération de Webservice.

Code erreur : 3520041

Niveau : erreur fatale

Module : 'wdcod64.dll (01F260056p - 26.0.182.2)


ou : 


Le type 'NomParametre' du paramètre 'Image' de la fonction 'FonctionDuWebService' n'est pas supporté dans la génération de Webservice.


Dans ces exemples c'est le type avancé notification, ou Image,  il peut s'agir d'un type avancé WLangage quelconque.


Afin de permettre la génération :


  • si la fonction est interne au webservice (elle est uniquement appelée par d'autres fonctions du webservice), il suffit d'ajouter le mot clé PRIVE dans le prototype de la fonction. De cette manière la fonction :
    • n'est plus exportée dans le webservice lors de son déploiement,
    • reste utilisable par les fonctions du webservice. 

      Par exemple pour la fonction : 

      PROCÉDURE ConstruitNotif()
      MaNotif est une Notification
      ...
      RENVOYER MaNotif

      Le prototype devient : 

      PROCÉDURE PRIVEE ConstruitNotif()
  • si la fonction est réellement appelée par les applications qui consomment le webservice, il faut modifier le type mentionné afin de le remplacer par un type simple (chaîne, entier, buffer). 

A noter que ce contrôle sur le type existe à partir de la version 26. Dans les versions précédentes tous les types étaient acceptés en retour, même les types avancés du WLangage qui ne pouvaient pas être utilisés directement par une application qui consommait le webservice.


Voir aussi: webservice, soap, type, non, retour, supporté