Loading
Extension de Salesforce avec des clics, sans code
Table des matières
Sélectionner des filtres

          Aucun résultat
          Aucun résultat
          Voici quelques conseils de recherche

          Vérifiez l'orthographe de vos mots-clés.
          Utilisez des termes de recherche plus généraux.
          Sélectionnez moins de filtres pour élargir votre recherche.

          Recherchez dans toute l’aide de Salesforce
          Mappage de type média dans les enregistrements de service externe

          Mappage de type média dans les enregistrements de service externe

          Vous pouvez enregistrer des spécifications avec les directives consumes, produces ou des directives de type de média de contenu OpenAPI 3.0 non prises en charge, en mappant les types de média avec des types de média pris en charge. Spécifiez un mappage depuis le menu déroulant de l'écran d'inscription, ou indiquez le mappage avec un code en utilisant l'API de métadonnées.

          Mappage des types de média lors de l'enregistrement

          Si vous tentez d'inscrire un schéma qui inclut un type de média non pris en charge, vous êtes invité à fournir un mappage dans la page Associer des opérations à des types de média pris en charge.

          Remarque
          Remarque La page Associer des opérations à des types de média pris en charge n'est pas affichée pendant l'inscription, sauf si un type de média non pris en charge est spécifié dans le schéma.

          Pour associer des opérations à un type de média pris en charge :

          1. Notez le premier type de média non pris en charge à gauche.
          2. Mappez le type de média non pris en charge avec un type de média pris en charge, en le sélectionnant dans le menu déroulant à droite.
          3. Si la liste contient d’autres types de média non pris en charge, faites défiler la liste et sélectionnez un mappage pour chaque type de média non pris en charge répertorié.
          4. Cliquez sur Suivant.

          Poursuivez l'inscription en sélectionnant des opérations, comme indiqué à l'étape 10 de la rubrique Inscription d'un service externe.

          Mappage de types de média avec l'API de métadonnées

          Pour mapper manuellement un type de média, le type non pris en charge doit être mappé avec un type pris en charge dans le champ serviceBinding du fichier de métadonnées ExternalServiceRegistration.

          Pour découvrir la méthode manuelle de mappage de types de média, consultez cet exemple Banque Acme.

          La banque Acme spécifie un service OpenAPI 2.0 pour son service de cote de solvabilité. Elle définit son propre type de média pour gérer la charge utile compatible JSON : application/x-acme-json :

          {  
             "swagger":"2.0",
             "info":{  
                "description":"A service for checking credit for an account.",
                "version":"1.0.0",
                "title":"Credit Decision"
             },
             "host":"<ACME's host>",
             "paths":{  
                "/account/credit-rating":{  
                   "get":{
                      "operationId":"getCreditRating",  
                      "summary":"Evaluates credit rating for offered payment terms.",
                      "consumes":[  
                         "application/x-acme-json"
                      ],
                     "produces":[  
                         "application/x-acme-json"
                      ],
                      "parameters":[{
                         "description":"Account",
                         "in":"body",
                         "name":"body",
                         "required":true,
                         "schema":{  
                            "$ref":"#/definitions/Account"
                         }
                      }],
                      "responses":{
                         "200":{  
                            "description": "Credit rating",
                            "schema":{  
                               "$ref":"#/definitions/CreditRating"
                            }
                         }
                      }
                   }
                }
             },
             "definitions":{  
                "Account":{  
                   "type":"object",
                   "properties":{  
                      "accountId":{  
                         "type":"string"
                      },
                      "accountHolder":{
                          "type":"string"
                      }
                   }
                },
                "CreditRating":{  
                   "type":"object",
                   "properties":{  
                      "creditRating":{  
                         "type":"string"
                      }
                   }
                }
             }
          }                    

          Pour mapper le type de média BankService avec le type de média application/json pris en charge, ouvrez un terminal de ligne de commande. Créez un répertoire dans lequel récupérer les métadonnées du service externe.

          > mkdir BankService
          > cd BankService

          Créez le package.xml manifest pour les métadonnées de service externe que votre BankService doit récupérer depuis votre organisation :

          > touch package.xml

          Modifiez le package.xml :

          <?xml version="1.0" encoding="UTF-8"?>
          <Package xmlns="http://soap.sforce.com/2006/04/metadata">
              <types>
                  <members>BankService</members>
                  <name>ExternalServiceRegistration</name>
              </types>
              <version>53.0</version>
          </Package>

          Récupérez les métadonnées du service externe avec la commande Salesforce CLI après l'authentification réussie à votre organisation :

          > sf project retrieve start --target-metadata-dir . --manifest package.xml

          Décompressez le package zip avec les métadonnées, puis accédez au répertoire avec le service externe :

          > unzip unpackaged.zip
          > cd unpackaged/externalServiceRegistrations

          Modifiez les liaisons de service dans le fichier de métadonnées d'inscription du service externe BankService.externalServiceRegistration. Ne coupez pas la section <serviceBinding> (en caractères gras) par des sauts de ligne afin de ne pas rompre la désérialisation.

          <?xml version="1.0" encoding="UTF-8"?>
          <ExternalServiceRegistration xmlns="http://soap.sforce.com/2006/04/metadata">
              <label>MediaTypeMap</label>
              <namedCredential>BankServiceEndpoint</namedCredential>
              <operations>
                  <active>true</active>
                  <name>getcreditrating</name>
              </operations>
              <registrationProviderType>Custom</registrationProviderType>
              <schema>{
               ...
               }
              </schema>
              <schemaType>OpenApi</schemaType>
           <serviceBinding>{&quot;compatibleMediaTypes&quot;
          :{&quot;application/x-acme-json&quot;
          :&quot;application/x-acme-json&quot;}}</serviceBinding>
              <status>Complete</status>
          </ExternalServiceRegistration>

          La liaison du service spécifie au format JSON les types de médias non pris en charge définis par cette inscription du service externe :

          {"compatibleMediaTypes":{
              "application/x-acme-json":"application/x-acme-json"
          }}

          Mappez le type de média non pris en charge avec le type de média pris en charge pour la sérialisation de la charge utile du service externe :

          {"compatibleMediaTypes":{
              "application/x-acme-json":"application/json"
          }}

          Les métadonnées mises à jour de l’exemple d'inscription du service externe de cote de solvabilité respectent le mappage du type de média avec le type de média pris en charge lorsqu’il est déployé dans un package :

          <?xml version="1.0" encoding="UTF-8"?>
          <ExternalServiceRegistration xmlns="http://soap.sforce.com/2006/04/metadata">
              <label>MediaTypeMap</label>
              <namedCredential>BankService</namedCredential>
              <operations>
                  <active>true</active>
                  <name>getcreditrating</name>
              </operations>
              <registrationProviderType>Custom</registrationProviderType>
              <schema>{
               ...
               }
              </schema>
              <schemaType>OpenApi</schemaType>
              <serviceBinding>{&quot;compatibleMediaTypes&quot;
          :{&quot;application/x-acme-json&quot;
          :&quot;application/json&quot;}}</serviceBinding>
              <status>Complete</status>
          </ExternalServiceRegistration>

          Ne coupez pas la section <serviceBinding> par des sauts de ligne afin de ne pas rompre la désérialisation.

          Enregistrez le fichier de métadonnées d’enregistrement du service externe modifié et déployez-le :

          > cd ../..
          > sf project deploy start --metadata-dir unpackaged

          Pour plus d'informations, consultez :

           
          Chargement
          Salesforce Help | Article