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

2024-10-01 15:45:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过添加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)

Tags: 文件namecomapihttp链接addressmy
1条回答
网友
1楼 · 发布于 2024-10-01 15:45:27

然而,我没有通过阅读WSDL来测试这一点,我对下面的答案很有信心

我不完全知道您对调用web服务的要求,但是您不需要重新生成WSDL,除非这些是添加到自上次生成WSDL以来返回的对象的全新字段

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

  • 身份证
  • 字段A\u\c
  • 字段B\u\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_uc的整个定义。示例的定义说明返回是复杂类型的WebServiceFields\uuu 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\uu\c没有更改

只有向对象添加新字段时才需要重新生成WSDL

相关问题 更多 >

    热门问题