Как увидеть все поля, выставленные SOAP API? - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь изменить вызов API Salesforce, добавив дополнительные поля, существующие в Salesforce. У меня есть файл wsdl с targetNamespace в верхней части файла и soap: адрес в конце

targetNamespace="http://soap.sforce.com/schemas/class/MY_API_NAME" 
soap:address location="https://MYPROJECT.my.salesforce.com/services/Soap/class/MY_API_NAME"

Могу ли я использовать эти ссылки, чтобы найти, какие данные возвращаются? Точно так же можно использовать эти ссылки для просмотра всех доступных параметров и т. Д. c.?

Должен ли я смотреть на изменение WSDL для добавления новых полей к вытягиваемому complexType?

(Для справки, я использую python и zeep для вызова этого API в этой строке :

return client.service.XXXXXX(_soapheaders=self.soap_headers)

1 Ответ

0 голосов
/ 12 января 2020

Я не проверял это, однако, читая WSDL, я уверен в своем ответе ниже.

Я не совсем знаю, что вы спрашиваете о вызове веб-службы, однако вы не должны ' не нужно перегенерировать WSDL, если только это не совершенно новые поля, добавленные в объект, который возвращается с момента последнего создания WSDL.

Например, если у меня есть SOBJECT с именем WebServiceFields __ c со следующими полями

  • Id
  • Field_A __ c
  • Field_B __ c
  • Field_C __ c

    webservice static WebServiceFields__c example(String Id) {
    
        return [Select Id, Field_A__c, Field_B__c FROM WebServiceFields__c WHERE Id = :Id LIMIT 1];
    } 
    

Если я экспортирую этот WSDL, будет создано полное определение WebServiceFields __ c. Определение для пример гласит, что возвращаемое значение является сложным типом WebServiceFields __ c

Затем у меня есть требование изменить веб-службу на:

webservice static WebServiceFields__c example(String Id) {

    return [Select Id, Field_A__c, Field_B__c FROM WebServiceFields__c WHERE Id = :Id LIMIT 1];
} 

Это не потребует регенерации WSDL, поскольку WebServiceFields __ c не изменился.

Только добавление новых полей в объект потребует регенерации WSDL.

...