title: Using OAuth with SforceServiceLocator
body: <p>I'm looking at some code which is using the Salesforce SOAP API to create a session and access data:</p>
  
  <pre><code>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);
  </code></pre>
  
  <p>Given that I've got an OAuth access token and endpoint, is there a way to adapt this to work correctly without a username/password?</p>