我正在尝试通过添加更多存在于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)发布于 2020-01-12 11:25:35
我还没有对此进行测试,但是通过阅读WSDL,我对下面的答案很有信心。
我不完全知道您所问的关于调用web服务的问题,但是您不应该重新生成WSDL,除非这些字段是从上次生成WSDL以来添加到要返回的对象的全新字段。
例如,如果我有一个名为WebServiceFields__c的SOBJECT,其中包含以下字段
webservice静态限制示例(字符串Id) { return Select Id,Field_A__c,Field_B__c FROM WebServiceFields__c WHERE Id = :Id WebServiceFields__c 1;}
如果我导出这个WSDL,就会创建WebServiceFields__c的整个定义。示例的定义指出,返回是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。
https://stackoverflow.com/questions/59634660
复制相似问题