Loading
Salesforcen laajentaminen napsautuksilla, ilman koodia
Mediatyyppien kartoitus ulkoisten palvelujen rekisteröinneissä

Mediatyyppien kartoitus ulkoisten palvelujen rekisteröinneissä

Voit rekisteröidä määrityksiä ei-tuetuille consumes-, produces- tai OpenAPI 3.0 -sisältötyyppien direktiiveille kartoittamalla mediatyypit tuettuihin mediatyyppeihin. Määritä kartoitus rekisteröintiruudun alasvetovalikosta tai tarjoa se koodilla Metadata API:lla.

Mediatyyppien kartoittaminen rekisteröinnin aikana

Jos yrität rekisteröidä skeemaa, joka sisältää ei-tuetun mediatyypin, sinua pyydetään tekemään kartoitus Liitä operaatiot tuettuihin mediatyyppeihin -sivulla.

Huomautus
Huomautus Liitä toiminnot tuettuihin mediatyyppeihin -sivua ei näytetä rekisteröinnin aikana, ellei skeemassa ole määritetty mediatyyppiä, jota ei tueta.

Toimintojen liittäminen tuettuun mediatyyppiin:

  1. Huomioi ensimmäinen ei-tuettu mediatyyppi vasemmalta.
  2. Kartoita ei-tuettu mediatyyppi tuettuun mediatyyppiin valitsemalla tuettu mediatyyppi suoraan oikeasta alasvetovalikosta.
  3. Jos luettelossa on muita ei-tuettuja mediatyyppejä, jatka luetteloa ja valitse kartoitus jokaiselle luettelossa olevalle ei-tuetulle mediatyypille.
  4. Napsauta Seuraava.

Jatka rekisteröintiä valitsemalla toiminnot, kuten Ulkoisen palvelun rekisteröinti -artikkelin vaiheessa #10 on kuvattu.

Mediatyyppien kartoittaminen Metadata API:lla

Jos haluat kartoittaa mediatyypin manuaalisesti, ei-tuettu mediatyyppi täytyy kartoittaa tuettuun mediatyyppiin kartoituksena ExternalServiceRegistration-metadatatiedoston kenttä-serviceBinding-kentässä.

Huomioi tämä Acme Bank -esimerkki osoittaaksesi, miten mediatyypit kartoitetaan manuaalisesti.

Acme- pankki määrittää luottoluokituspalvelulleen OpenAPI 2.0 -palvelun. Se määrittää oman mediatyypin JSON-yhteensopivan tietosisällön käsittelemiseen: 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"
            }
         }
      }
   }
}                    

Jos haluat kartoittaa BankService-mediatyypin tuettuun mediatyyppiin application/json, avaa komentorivikäyttöinen pääte. Luo hakemisto, josta ulkoisen palvelun metadata noudetaan.

> mkdir BankService
> cd BankService

Luo manifest package.xml ulkoisen palvelun metadatan luomiseksi BankServicelle, jonka voit noutaa organisaatiostasi:

> touch package.xml

Paketti.xml:n muokkaaminen:

<?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>

Nouda ulkoisen palvelun metadata Salesforce CLI -komennon jälkeen, kun olet todentanut organisaatiosi onnistuneesti:

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

Pura paketin zip-paketti metadatan kera ja siirry ulkoisen palvelun hakemistoon:

> unzip unpackaged.zip
> cd unpackaged/externalServiceRegistrations

Muokkaa palvelun sidoksia ulkoisen palvelun rekisteröintin metadata-tiedostossa BankService.externalServiceRegistration: Älä rikko <serviceBinding>-osiota (lihavoituna) rivinvaihdolla, koska se rikkoo sarjanpidon.

<?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>

Palvelun sidos määrittää JSON-muodossa ulkoisen palvelun rekisteröinnin määrittämät ei-tuetut mediatyypit:

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

Kartoita ei-tuettu mediatyyppi tuettuun mediatyyppiin ulkoisten palveluiden tietosisällön sarjoituksen varten:

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

Pankkiluokituksen ulkoisen palvelun näytteen rekisteröinnin päivitetty metadata noudattaa mediatyypin kartoitusta tuettuun mediatyyppiin, kun se otetaan käyttöön paketissa:

<?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>

Älä rikko <serviceBinding>-osiota rivinvaihdolla, koska se rikkoo sarjoituksen poistamisen.

Tallenna muokattu ulkoisen palvelun rekisteröinnin metadata-tiedosto ja ota se käyttöön:

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

Lisätietoja on seuraavissa kohdissa:

 
Ladataan
Salesforce Help | Article