весенний бин, чтобы обернуть вызовы веб-службы Salesforce - PullRequest
1 голос
/ 27 сентября 2010

Я пытаюсь выяснить, как создать Spring Bean без состояния, который оборачивает группу вызовов API-интерфейсом веб-службы salesforce. Насколько я понимаю, процесс вызова Salesforce выглядит примерно так:

  1. Позвоните в службу авторизации, чтобы войти в salesforce
  2. Сделайте серию сервисных звонков
  3. Позвоните, чтобы выйти

Чтобы иметь обертку без состояния, кажется правильным, чтобы каждый метод в бине выполнял все три шага, описанные выше. например (Псевдокод)

binding.login();
binding.upsert(….);
binding.upsert(….);
binding.logout();

Это хорошая практика? Кажется, это был бы дорогостоящий способ просто сохранить бин без гражданства. Было бы предпочтительнее в этом случае сделать боб request scope?

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Я согласен с Anup, вам следует взглянуть на sfdc wsc.

Если вы хотите полностью отказаться от состояния, вам нужно знать следующее о подключении к salesforce.

  1. каждое действие должно иметь URL-адрес конечной точки, например, na6.salesforce.com или na7.salesforce.com
  2. каждое действие должно иметь действительный SID (идентификатор сеанса) для завершения действия.

Когда вы входите в систему salesforce, исходной конечной точкой является login.salesforce.com, и если вы добились успеха, вам вернут действительную конечную точку (na6.salesforce.com) и SID.

Затем вы можете перетащить эту конечную точку / sid в синглтон и поделиться ею с таким количеством пружинных бобов, как вы хотите. В каждом бине вам нужно будет создать новый SoapBindingStub и установить конечную точку и sid перед выполнением вставки / upsert / update / и т. Д. действие.

Срок действия этого sid истечет через некоторое время бездействия (где-то от 30 до 120 минут, в зависимости от настроек), поэтому вы должны перехватить любые исключения и повторно войти в систему с помощью объекта-одиночки.

Не беспокойтесь о двух bean-компонентах, вызывающих повторный логинг синглтона одновременно, потому что salesforce возвратит один и тот же sid обоим.

0 голосов
/ 01 октября 2010

Вы пробовали SFDC WSC библиотека?Он прост в использовании и соответствует сценарию, который вы пытаетесь выполнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...