I am working on developing a managed package (Package A) that integrates with a another managed package downloaded form the AppExchange (Package B). By integrate I mean, creating VF pages with the controller that is from Package B and an extension from Package A.

I am doing all this in the packaging org, i.e. the dev org where I am creating managed package A.

On page load everything is fine, however when I call a action method from the page I get Apex class not found error. E.g.

Apex class 'packageB_namespace.PackageA_Class' does not exist.

  • 2
    Can you share a code snippet with your question please. I'm thinking it might be a platform bug or maybe a profile permissions thing, though I assume your logged in as admin? Jun 19, 2013 at 11:25
  • 1
    Is the extension in Package A global? You will not be able to use any code in Package A unless it is declared as global. Jun 20, 2013 at 9:21
  • Apologies for responding late, currently I am think there is an issue with the way we are using ApexPages.currentPage() from package B that might be causing the confusion. Will update when I have something concrete. Jul 2, 2013 at 14:18
  • Finally got to the bottom of this, Package B had known bugs that were causing the namespace confusion. A patch has been pushed by the developers of Package B, and now everything is working :) Jul 7, 2013 at 10:01

1 Answer 1


Unless I'm mistaken, I believe there are security limitations that keep two managed packaged components of different namespaces from accessing one-another's code.

If this were the case, one could theoretically create a 2nd package with a security exploit for the 1st. - This is the reasoning for why I don't believe this is possible.

I've seen extension packages mentioned in the documentation, however, I haven't seen one functioning in practice (unless one is unmanaged).

  • Thanks Jordan, It all depends on what is in 1st package I guess along with the access of the classes. We have this working now. I might write a blog post one day and share the link. Jul 7, 2013 at 10:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.