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
priyankasingla3101.3916265522429534E12priyankasingla3101.3916265522429534E12 

Generating salesforce wsdl that contains custom app operations

Hi
I installed some apps in my salesforce account from appExchange. These apps provides me some operations, for example, there is one app which provides some operations e.g. mass update, mass delete etc.
But when I generate enterprise/partner WSDL, I cannot see these custom operations that are provided by any installed apps. Enterprise/partner WSDL pnly contains the standard salesforce operations.
Is there any way to include these operations in enterprise/partner WSDL, or to generate a custom WSDL that contains these custom operations?
ShashForceShashForce
Hi Priyanka,

There is an extra step involved when you need to include managed package functionality in your WSDL. Please see this documsntation for more information: https://help.salesforce.com/apex/HTViewHelpDoc?id=dev_wsdl_enterprise_version.htm&language=en_US

If this answers your question, please mark this as the Best Answer for this post, so that others can benefit from this post.

Thanks,
Shashank
priyankasingla3101.3916265522429534E12priyankasingla3101.3916265522429534E12
Hi Shashank, 
Thanks for your reply.
I followed the same steps to generate the enterprise WSDL, but I can see only custom fields and custom objects provided by that app in the generated WSDL. I want to include the custom operations provided by that app in my enterpise WSDL, but I can see only standard operations in the WSDL file. Is there any way to add those operations in the enterprise WSDL, or to generate a custom WSDL that contains those operations?

Thanks
Priyanka
ShashForceShashForce
Hi Priyanka,

When you go to Setup | Develop | API, and click on "Generate Enterprise WSDL", do you see a screen where you have a list of your managed packages and you have to select a version number for each of these packages? Once you select the version numbers and click on "Generate", they should be included in the WSDL.

Thanks,
Shashank
priyankasingla3101.3916265522429534E12priyankasingla3101.3916265522429534E12
Yes Shashank, I can see list of managed packages there. PFA the screenshot of the same.
 User-added image

But I cannot see the custom operations in the WSDL.
priyankasingla3101.3916265522429534E12priyankasingla3101.3916265522429534E12
I can see in the link that you provided, that enterise WSDL generated with a managed package includes custom objects and fields, there is no description about the custom operations contained in the managed app. PFB the text marked in BOLD:

Note the following in your generated enterprise WSDL:
 Each of your managed package version selections is included in a comment at the top of the WSDL.
The generated WSDL contains the objects and fields in your organization, including those available in the selected versions of each installed package. If a field or object is added in a later package version, you must generate the enterprise WSDL with that package version to work with the object or field in your API integration.
 The SOAP endpoint at the end of the WSDL contains a URL with a format ofserverName/services/Soap/c/api_version/ID where api_version is the version of the API, such as 30.0, and IDencodes your package version selections when you communicate with Salesforce.

Is there any other way to achieve the same?
ShashForceShashForce
Hi Priyanka,

When you say operations, do you mean the classes which are part of the managed package?
priyankasingla3101.3916265522429534E12priyankasingla3101.3916265522429534E12
There are some operations provided by managed apps, for example, I've an app called Mass Action, which provides some operations on particular objects.
I've attached a screenshot of the same.

User-added image

Here I've highlighted the operations that are provided by this particular app. Eg, Mass Delete operations works on Opportunity object. I want to include these operations in enterprise WSDL. Please help!
ShashForceShashForce
These are custom buttons. Not sure if custom buttons will be included in enterprise WSDL. Please try generating a separate APEX WSDL from the classes which are part of this managed package.
priyankasingla3101.3916265522429534E12priyankasingla3101.3916265522429534E12
Actually these are operations which are provided in the form of buttons. A logic will be triggered when you click on these buttons.
for example, if you click on Mass Delete button, it will delete multiple records which you'll select to delete.
This managed app has provided this Mass update/Mass delete functionality in the form of buttons, hence I can use this functionality/operation only through GUI. If it would come as an operation in the enterprise WSDL, I'd be able to use it using a webservice call as well.

I'll try to generate APEX WSDL from the classes provided by this app, and check if it is coming in that WSDL or not.

Thanks a lot.
priyankasingla3101.3916265522429534E12priyankasingla3101.3916265522429534E12
Hi Shashank,

I am not able to generate an APEX WSDL from the classes provided by the managed app. The Classes are not defined as global, hence I am not able to see the code.

Thanks