2014-02-09 4 views
0

Я смотрю на некоторый код, который с помощью SOAP API Salesforce для создания сеанса и доступа к данным:Использование OAuth с SforceServiceLocator

SoapBindingStub binding = (SoapBindingStub) new SforceServiceLocator().getSoap(); 
String username; 
String password; 
[...] 
LoginResult result = binding.login(username, password); 
binding._setProperty(SoapBindingStub.ENDPOINT_ADDRESS_PROPERTY,result.getServerUrl()); 
SessionHeader sh = new SessionHeader(); 
sh.setSessionId(result.getSessionId()); 
binding.setHeader(new SforceServiceLocator().getServiceName().getNamespaceURI(), "SessionHeader", sh); 

Учитывая, что у меня есть доступ OAuth маркер и конечная точка, является есть способ адаптировать это для правильной работы без имени пользователя/пароля?

ответ

1

После много проб и ошибок - ответ, как представляется, следующие

  1. Используйте маркер доступа OAuth как SESSIONID
  2. ENDPOINT_ADDRESS_PROPERTY является URL конечной точки и мыльных URL API, например: https://na15.salesforce.com/services/Soap/u/21.0
Смежные вопросы