2013-05-07 1 views

ответ

1

Salesforce WSDL доступны только в пользовательском интерфейсе Salesforce, а не через API. Вы можете получить их по адресу:

| Разработка | API

Если вы обнаружите, что нужно, чтобы получить Enterprise WSDL во время выполнения, потому что ваше приложение должно работать с различными наборами объектов и полей, вы, вероятно, следует использовать Партнерскую WSDL вместо этого. Это позволит вам получить все описания объектов и полей во время выполнения и сделать динамические вызовы API. Там немного больше работы, но это приводит к более гибкому и гибкому приложению. Когда объекты и поля будут меняться в будущем, ваше приложение будет продолжать работать без повторного использования WSDL.

0

WSDL недоступен через API Salesforce (насколько мне известно). Тем не менее, он доступен через звонок REST, если у вас есть правильная информация. Во-первых, вам нужен токен сеанса, сгенерированный либо с помощью рукопожатия OAuth, либо с помощью рукопожатия токена безопасности пользователя/пароля +. Вам также потребуется имя класса Apex, из которого вы создали WSDL. С этими двумя вещами вы можете выполнить GET. См. Следующий псевдокод для необходимой структуры GET.

GET https://<SANDBOX_INSTANCE_URL>/services/wsdl/class/<APEX_WSDL_CLASS_NAME>?isdtp=p1 

Headers: 
    'Cookie' : 'sid=<SESSION_TOKEN>' 

EDIT: Я проверил, что это работает как с Enterprise/партнеров и WSDL, WSDL, сгенерированных из пользовательских классов Apex.

Вы можете использовать следующие общие URL-адреса для этих WSDL, как из v41.0:

Смежные вопросы