I am using the metadata class for one of my apps on appexchange. Link for the class is https://github.com/financialforcedev/apex-mdapi/blob/master/apex-mdapi/src/classes/MetadataService.cls But the app is not working in Professional edition but rather in all editions because professional does not support API token. I did generated a case in support and they have given me a SOAP Token/Client Id to use. This token if appended in SOAP header will allow the users to access the app in Professional org as well. Token is: 'Abc/Dtest/' and this is the support link: http://wiki.developerforce.com/page/How_to_use_clientid

But can someone tell me how to append this Client Id in the present MetadataService class in SOAP header and not the java or C# code like given in support link?

1 Answer 1


The typical usage for the ClientID is in the CallOptions header with the Partner API. This tells Salesforce who you are and if they have approved you will grant API access to Professional Edition orgs.

You just need to use the corresponding Metadata API CallOptions header.

It looks like the header you need is already there in CallOptions_element. Set it on the MetadataPort.CallOptions property.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .