2010-03-29 10 views
1

J'essaie d'ajouter une référence de service à axapta 2009. Tout fonctionne bien, c'est une méthode web simple (webservice externe) qui s'exécute sur le niveau serveur (nécessaire sinon erreur d'interopérabilité clr)Axapta 2009 WCF service

Mais j'ai couru dans les problèmes suivants:

  1. est-il possible de fermer la procuration d'une façon ou d'une autre? Parce que cette option n'est pas disponible dans l'objet de service généré dans AX (seulement les méthodes web et un tostring).
  2. à un certain moment, j'ai couru dans un service avec un état défectueux. Normalement, vous créez à nouveau l'objet de service, mais cela n'a rien résolu jusqu'à ce que je redémarre l'AOS. Est-ce que c'est un comportement normal? L'objet de service est-il mis en cache ou quelque chose comme ça du côté serveur?

Thx à l'avance.

Répondre

0

Ceci est dû au fait que le service WCF lance des défauts, probablement des fautes non gérées.

Avez-vous accès au service WCF? Si c'est le cas, jetez un oeil à ce lien: How do I prevent a WCF service from enter a faulted state?

Essayez d'intercepter les exceptions dans le service WCF et consignez-les. Malheureusement Ax ne peut pas capturer FaultExceptions levées par WCF, vous serez donc limité à modifier le service WCF avec un objet encapsulant le message de retour, avec un indicateur si la méthode a été traitée avec succès ou si une exception a été levée.

Oui, il est normal qu'un service WCF défaillant reste dans l'état Faulted. Vous devrez peut-être redémarrer le service IIS ou simplement recycler AppPooll le service WCF s'exécute sous.