如何查看SOAP api公开的所有字段?

问题描述 投票:0回答:1

我正在尝试通过添加更多在Salesforce上存在的字段来修改Salesforce API调用。我有一个wsdl文件,该文件的顶部是targetNamespace,最后是一块soap:address

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

我可以使用这些链接来查找返回的数据吗?同样,这些链接可用于查看所有可用参数等吗?

我应该在更改WSDL以便将新字段添加到要提取的complexType上吗?

(作为参考,我正在使用python和zeep在此行中调用此api:

return client.service.XXXXXX(_soapheaders=self.soap_headers)
python api soap wsdl salesforce
1个回答
0
投票

但是我没有通过阅读下面对我的回答充满信心的WSDL进行测试。

我不完全知道您在问有关调用Web服务的要求,但是您不需要重新生成WSDL,除非这些是自上次生成WSDL后添加到要返回的对象的全新字段。 。

例如,如果我有一个名为WebServiceFields__c的SOBJECT,其中包含以下字段

  • 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的整个定义。 example的定义指出返回的是WebServiceFields__c

的复杂类型

然后我需要将Web服务更改为:

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。

© www.soinside.com 2019 - 2024. All rights reserved.