+ Start a Discussion
Jim F.ax281Jim F.ax281 

SOAP callouts on behalf of Community users?

We have an external SOAP web service.  We have several APEX classes that call that service, and have had this in place for a couple of years. We use the standard WebServiceCallout structure to make those calls, and it works for all standard users; these classes and associated VF pages are part of our managed package.  Essentially, the SF admin drops our VF page on an Opportunity page layout, and the VF page makes the callout to the web service.  We have a new client that uses Communities, and wants to put our VF page on the Opportunity page layout for their Community Partners.  However, when they do this, the callout is never made.  There are no logs in the debug log, and we have checked all of the permissions we can think of.  The callout works for the standard users, but not partners; I've checked, and they're set to call out to the same URL.  Does anybody have any suggestions, either as to how we could troubleshoot this, or what the problem might be?  
Thanks, Jim
Does the VF controller run under system context, i.e., no "with sharing"?
Jim F.ax281Jim F.ax281
Thank you for your reply, and I'm sorry for the long delay.  Yes, the controller runs under system context, but I have also tried running it "without sharing".  I had the same results each time.  I've tried speaking to SF technical support, but they were not able to assist, and said I needed to get answers from this forum.  However, I'm really stumped.  Would it be possible that I need to implement "without sharing" on all Apex classes that are in use?  Is it certain that Community users can make SOAP calls through classes at all?
Many thanks, Jim
Would you be able to post some code?  I don't need the details, just the flow of who calls what.  Also, I'm assuming the community users are all authenticated users (non-anonymous)?
Jim F.ax281Jim F.ax281
Yes, all community users are authenticated users.

My VF page's controller is declared: public with sharing class PluginPopControllerExtension
There is a single relevant method in the class, called getRelatedContent().  It calls my second Apex class, presearchRV.

My second class is declared: public class presearchRV {
It wraps another class that calls out to my SOAP service, which looks like your standard SOAP wrapper that you see in all of the examples.