+ Start a Discussion
Cathy AnthonyCathy Anthony 

Do I need a specific URL for my Web Developer?

We have a force.com org that uses a "Lead" type object called an "Inquiry". I would like my web developer to be able to create new Inquiries directly from our web forms using the API. I have followed the steps for generating the SOAP WDSL file, and I have the Cheat Sheet for this as well.
My web developer says they think they need a URL. They say it might look like this:
http://companyname.force.com/ExternalWebForm

Can you tell me what this is and how I would generate it? This is probably so simple it's silly, but I just don't see what to do next.
Best Answer chosen by Cathy Anthony
Daniel BallingerDaniel Ballinger
The Enterprise WSDL is "strongly typed". That means it is a snapshot of your orgs current schema. If you add or change custom objects or fields the schema will change and you will need to regenerate the WSDL and anything that depends on it.

The endpoint URL for the Enterprise API will be at the end of the WSDL file in the <soap:address> element. It will be something like:
 
<!--  Soap Service Endpoint  -->
<service name="SforceService">
  <documentation>Sforce SOAP API</documentation>
  <port binding="tns:SoapBinding" name="Soap">
    <soap:address location="https://login.salesforce.com/services/Soap/c/37.0/0DF700000000001"/>
  </port>
</service>

Note the /c/ rather than the /u/ and the addition of a configuration ID on the end of the URL.

All Answers

Daniel BallingerDaniel Ballinger
The URL they should start with will be embeded in the WSDL file. Did you generate the Enterprise or Parther API WSDL?

For the Partner API it will be https://login.salesforce.com/services/Soap/u/37.0
Once they have called the login() method to establish a session they will need ot change the Endpoint based on the returned ServerUrl.

Point them at Examples Using the Partner WSDL (https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_partner_examples.htm). It has Java and C# examples of how to call the API.
 
Cathy AnthonyCathy Anthony
I generated the enterprise API WSDL. I guess the URL will be there as well?
Daniel BallingerDaniel Ballinger
The Enterprise WSDL is "strongly typed". That means it is a snapshot of your orgs current schema. If you add or change custom objects or fields the schema will change and you will need to regenerate the WSDL and anything that depends on it.

The endpoint URL for the Enterprise API will be at the end of the WSDL file in the <soap:address> element. It will be something like:
 
<!--  Soap Service Endpoint  -->
<service name="SforceService">
  <documentation>Sforce SOAP API</documentation>
  <port binding="tns:SoapBinding" name="Soap">
    <soap:address location="https://login.salesforce.com/services/Soap/c/37.0/0DF700000000001"/>
  </port>
</service>

Note the /c/ rather than the /u/ and the addition of a configuration ID on the end of the URL.
This was selected as the best answer
Cathy AnthonyCathy Anthony
Oh THAT's where it is!
Thanks very much for pointing it out.