J'ai un service Web Axis2 qui envoie différents messages de détail dans la réponse de panne pour signaler des problèmes dans l'appel. À un certain point, en raison d'erreurs de serveur (autres que celles traitées par le service Web), dans la chaîne de détails de défaut, j'obtiens la pile complète de ce qui s'est passé. Je ne veux pas que le client voie la trace de la pile, donc (en tant que capture toutes les erreurs) je veux sortir un message simple "Erreur de serveur" sans stacktrace, pas de rien.Comment exclure stacktrace de la réponse à une erreur axis2
Quelle est la manière la plus simple d'intercepter les réponses aux pannes et de changer le message d'erreur? Les modules sont-ils la seule façon de (compliquer) faire cela?
Ou, y a-t-il une configuration dans Axis2 qui indique de ne pas afficher la trace de pile en erreur?
Merci!
Où vais-je placer ce code? L'erreur se propage à partir de la classe MessageReceiverInOut générée où j'ai ce code tout attraper: ** ...} catch (java.lang.Exception e) {throw org.apache.axis2.AxisFault.makeFault (e); ... ** – userOfAxis2
Vous devez utiliser la classe 'MessageReceiverInOut' quelque part? –
org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver l'utilise. La classe * MessageReceiverInOut est générée automatiquement par l'outil codegen de mon fichier wsdl. Il semble fragile de le pirater et d'y ajouter mes choses. – userOfAxis2