function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
CJDEVCONPROCJDEVCONPRO 

URL for the WSDL File?

Hey all, I am working on a VB.NET application that other SalesForce subscribers may use.

do I need to create my application to have them download their WSDL file first or is there an URL that they can just type in to automatically download it so the application can run?
DevAngelDevAngel
If you are using the partner wsdl (as you should if other people with other schemas will use it) then you don't need a different wsdl.

The enterprise wsdl which has all the object (contacts, accounts etc) represented is specific to a single salesforce.com instance. The partner wsdl on the other hand is the same for everyone.
CJDEVCONPROCJDEVCONPRO
Thanks for the quick reply. What is the difference between the two? and does that mean I would essentially have to create a new application for each "customer" that would use it?
DevAngelDevAngel
I pointed out the difference. In .NET when you generate a proxy for the web service using add web reference, classes are created that contains the objects that are returned and passed to the web service and a class that you use to make the web service calls (SforceService).

When you use the enterprise wsdl, classes are created for each data object (accounts, contacts, leads etc.). These are defined essentially by the schema that is visible to the logged in user when the wsdl was generated. All salesforce.com account will have objects and fields on those objects in common. The standard objects and standard fields on those objects will be common to all. If the application you are creating is only using standard objects and standard fields, then you can use the enterprise wsdl.

The partner wsdl only contains one data object which is the SObject. All other object are cast from and to an sobject. This provides more flexibility in creating a solution that is cross instance. In other words, you can do declarative control of the data. For example, the sforce explorer allows you to enter a SOQL statement for any object using any fields (custom or standard) and works for everybody. The reason is the data is late bound to the ui and there are no concrete class with a fixed shape to contain the results. When the records are returned from the query they are in the more generic SObject class which contains basically key value pairs for the fields. These key value pairs are iterated and columns for a datatable created from the results. If you used an enterprise wsdl as the basis for this, then if the user included a custom field in the SOQL statement, .NET would complain that the data won't fit into the precompiled definition for the object.

What is you application going to do? Maybe I could provide a little direction as to how best to implement it.
CJDEVCONPROCJDEVCONPRO
Sorry about that.

Basically it is a 2 form application that will have buttons on it for users to open up certain parts of the SalesForce application.

It will work like this,

config form: three text boxes, Login, Password and URL of the frontdoor.jsp URL.
Once the user enters this information, the app will save the settings as a XML file so when the app opens again, it will not prompt the user for these settings.

then, the second form will have buttons to open different parts of the SF application. Like contacts, accounts, cases etc. there will also be a text box and buton so the user can do a quick search for a name, or a number and then SF will open up with the located data.

Make sense?
DevAngelDevAngel
Right, ok. The only consideration is to make sure you use only standard fields when displaying the results of the search, which I think is totally reasonable. If the user wants the search to find something on a custom object, they are out of luck unless you use the partner wsdl. There is a property of a field on an object that indicates if it is the name field. This would allow you to support returning custom objects from the search and, in addition to the id, you can return the name field(s) for that custom object. Using the enterprise wsdl you couldn't do that.
CJDEVCONPROCJDEVCONPRO
I am currently developing with the Partner one. Is this ok and will it work for what I am trying to do?
DevAngelDevAngel
Yup, perfect. Rock on.
CJDEVCONPROCJDEVCONPRO
You the man! thanks.

Oh, to deploy it, I just need to distibute the sforce.webservice.dll file correct?
DevAngelDevAngel
Best to create an msi.