Olet tässä:
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.
Toimintojen liittäminen tuettuun mediatyyppiin:
- Huomioi ensimmäinen ei-tuettu mediatyyppi vasemmalta.
- Kartoita ei-tuettu mediatyyppi tuettuun mediatyyppiin valitsemalla tuettu mediatyyppi suoraan oikeasta alasvetovalikosta.
- Jos luettelossa on muita ei-tuettuja mediatyyppejä, jatka luetteloa ja valitse kartoitus jokaiselle luettelossa olevalle ei-tuetulle mediatyypille.
- 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 BankServiceLuo manifest package.xml ulkoisen palvelun metadatan luomiseksi BankServicelle, jonka voit noutaa organisaatiostasi:
> touch package.xmlPaketti.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.xmlPura paketin zip-paketti metadatan kera ja siirry ulkoisen palvelun hakemistoon:
> unzip unpackaged.zip
> cd unpackaged/externalServiceRegistrationsMuokkaa 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>{"compatibleMediaTypes"
:{"application/x-acme-json"
:"application/x-acme-json"}}</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>{"compatibleMediaTypes"
:{"application/x-acme-json"
:"application/json"}}</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 unpackagedLisätietoja on seuraavissa kohdissa:
