2010-04-30 4 views
2

J'ai une règle de workflow existante qui déclenche un (SOAP) Outbound Message lorsqu'un certain type d'objet est créé ou mis à jour. Cela fonctionne bien.Salesforce: envoi d'un message sortant SOAP à l'aide d'Apex

Je souhaite l'étendre afin qu'un message sortant similaire soit également envoyé lorsque les objets sont supprimés.

Selon les règles this discussion, les règles de flux de travail ne peuvent pas être déclenchées en fonction des suppressions d'objet. Je dois donc écrire un déclencheur Apex à la place. Donc, la question est: comment lancer un message sortant SOAP à partir d'Apex?

Répondre

3

Cela devrait être assez simple - tant que SF prend en charge la version SOAP de vos services Web. Importez le WSDL pour le service (vous pouvez le faire à partir de la page 'Apex Classes') et ajoutez un type de déclencheur approprié qui appelle la (les) méthode (s) définie (s) par WSDL.

+0

C'est ce que j'ai fait à la fin, merci. – codeulike

+0

mais "La légende des déclencheurs n'est actuellement pas prise en charge" – John

+0

Un déclencheur Apex peut exécuter une légende lorsque la légende est appelée dans une méthode définie comme asynchrone: c'est-à-dire définie avec le mot clé '@ future'. L'annotation '@ future' signifie que la méthode Apex s'exécute de manière asynchrone. Pour plus d'informations sur l'annotation '@ future', veuillez lire la documentation. [Source] (http://wiki.developerforce.com/page/Apex_Web_Services_and_Callouts) –

3

Véritable "message sortant" (créé comme une entité quelque part dans le programme d'installation de l'application, avec des champs de fusion, etc.) - aucune idée.

Votre propre requête HTTP où vous définissez votre propre point de terminaison ainsi que la charge utile qui pourrait être une enveloppe SOAP valide - jetez un oeil here et here pour un début.

4

Je suis nouveau ici, donc je ne peux pas ajouter de commentaire à la publication de weesilmania, mais je voulais souligner quelque chose d'important. La fonctionnalité de messagerie sortante dans Salesforce est très tolérante aux pannes et fiable. Cela signifie que si votre point de terminaison tombe en panne pendant un certain temps ou si la connexion réseau entre salesforce et votre serveur est instable, Salesforce réessayera d'envoyer un message sortant déclenché pendant 24 heures maximum.

La mise en œuvre d'une légende d'apex qui se produit sur un déclencheur fonctionnera, mais c'est le feu et oubliez. Gardez cela à l'esprit si vous utilisez cette option.

Questions connexes