Мне нужно вызвать пользовательский api отдыха в Salesforce. Может кто-нибудь, пожалуйста, предоставьте какие-либо подробности, как вызвать его из мула. Найдите мою конфигурацию мула и сообщите, делаю ли я что-нибудь не так.
Индивидуальный класс отдыха Salesforce
@RestResource(urlMapping='/customOrder')
global with sharing class CustomOrder {
@HttpPost
global static Account createOrder() {
RestRequest req = RestContext.request;
RestResponse res = RestContext.response;
Map<String, Object> params = (Map<String, Object>) JSON.deserializeUntyped(req.requestBody.toString());
----
---
Account resultAcc;
---
return resultAcc
}
}
Запросить полезную нагрузку
{
"Obj1": [
{
"key": "data for key",
"value": "some value"
},
{
"key": "leadSource",
"value": "Web"
},
"obj2": [
{
"key": "data for key",
"value": true
}
],
"key1": false
}
Конфигурация Mule для Salesforce
<sfdc:config-oauth-user-pass name="Salesforce" consumerKey="XXXX" consumerSecret="XXX" username="XXX" password="XXX" tokenEndpoint="xxxxx" disableSessionInvalidation="true" doc:name="Salesforce: OAuth 2.0 Username-Password" fetchAllApexRestMetadata="true" >
<sfdc:apex-class-names>
<sfdc:apex-class-name>CustomOrder</sfdc:apex-class-name>
</sfdc:apex-class-names>
</sfdc:config-oauth-user-pass>
<sfdc:invoke-apex-rest-method config-ref="Salesforce" restMethodName="CustomOrder||createOrder\^customOrder\^HttpPost\^Account\^" doc:name="Salesforce"/>
Как лучше всего вызвать этот api из mulesoft