You need to sign in to do that
Don't have an account?
rd7
logout() request
I'm attempting to logout a session and am getting the following response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>No operation available for request {urn:enterprise.soap.sforce.com}logout</faultstring>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
I'm using the URL and sessionID from the login() request.
The API version you are using is 10.0, indicated by the end of the URL. The logout() method had not yet been implemented when API 10.0 was released.
Salesforce has a versioned API, which means when we release API changes we add new API endpoints with a higher version number at the end. These changes are captured in changes to the WSDLs. However, we maintain the old endpoints, so if you wrote an application a few years ago against the 10.0 Enterprise API (for example) it will continue to function. This is one of the features allowing Salesforce to do three seamless upgrades per year without breaking our customers' code and integrations.
To access new functionality in a later API, however, you need to replace your old WSDL with a newer one. This will add new API methods and incorporate changes to message formats. Because our WSDLs do change over time, this kind of upgrade is not always trivial--you can't just point your application developed for API 10.0 at API 16.0 and expect it to work.
Since it sounds like you're developing a new Salesforce API client application, I'd strongly recommend upgrading to the latest version now, before you do anything else, so that you can leverage all the latest Salesforce features. You can download the latest WSDLs for any of our APIs by logging into Salesforce and navigating to Setup | App Setup | Develop | API.
For your reference, there are three important pieces of information embedded in a Salesforce Web Service API endpoint.
1. Hostname - "www.salesforce.com" for production, "test.salesforce.com" for sandbox
2. API type - "/c/" for Enterprise API, "/u/" for Partner API, "/m/" for Metadata API, etc.
3. API version - "/16.0" is for Summer '09, "/15.0" is for Spring '09, etc.
If you aren't familiar with the difference between the Enteprise and Partner APIs, you should check out the Web Service API Developer's Guide at http://www.salesforce.com/us/developer/docs/api/index.htm (link).
Jon
salesforce.com Product Manager
All Answers
The initial login request is going to test.salesforce.com/services/Soap/c/10.0 (sandbox)
I'm not sure of the API version ... whatever the latest one is I would suspect as we just signed up with SalesForce and started using it within the past month or two.
The API version you are using is 10.0, indicated by the end of the URL. The logout() method had not yet been implemented when API 10.0 was released.
Salesforce has a versioned API, which means when we release API changes we add new API endpoints with a higher version number at the end. These changes are captured in changes to the WSDLs. However, we maintain the old endpoints, so if you wrote an application a few years ago against the 10.0 Enterprise API (for example) it will continue to function. This is one of the features allowing Salesforce to do three seamless upgrades per year without breaking our customers' code and integrations.
To access new functionality in a later API, however, you need to replace your old WSDL with a newer one. This will add new API methods and incorporate changes to message formats. Because our WSDLs do change over time, this kind of upgrade is not always trivial--you can't just point your application developed for API 10.0 at API 16.0 and expect it to work.
Since it sounds like you're developing a new Salesforce API client application, I'd strongly recommend upgrading to the latest version now, before you do anything else, so that you can leverage all the latest Salesforce features. You can download the latest WSDLs for any of our APIs by logging into Salesforce and navigating to Setup | App Setup | Develop | API.
For your reference, there are three important pieces of information embedded in a Salesforce Web Service API endpoint.
1. Hostname - "www.salesforce.com" for production, "test.salesforce.com" for sandbox
2. API type - "/c/" for Enterprise API, "/u/" for Partner API, "/m/" for Metadata API, etc.
3. API version - "/16.0" is for Summer '09, "/15.0" is for Spring '09, etc.
If you aren't familiar with the difference between the Enteprise and Partner APIs, you should check out the Web Service API Developer's Guide at http://www.salesforce.com/us/developer/docs/api/index.htm (link).
Jon
salesforce.com Product Manager
Thank you for all of the information! I had just gotten the wsdl about a month ago so I thought I had the latest version. The breakdown of the web service api endpoint is helpful too!
Thanks again ~