Utlilze a Apex Webservice in php
I was looking to get some report id in my php code so found a workaround
for that. we can make a Apex webservice method and call that in php. So
below is the step by step process to do that.
1.) Make a apex webservice class and a method.
To Create a class :- Develop| Apex Classes| New
Here we are making a service to get ReportID for a given report name
1.) Make a apex webservice class and a method.
To Create a class :- Develop| Apex Classes| New
Here we are making a service to get ReportID for a given report name
global class reportsManager{
WebService static string FindReport(string ReportName)
{
List reports = new list([Select Id, Name from Report Where Name = :ReportName]);
if (reports == null || reports.size() == 0) return null;
return reports[0].Id
}
}
2.) Download the WSDL xml for above class and save it in a source folder.
To Download WSDL :- Develop| Apex Classes| WSDL(Save the file)
3.)Now in your php code make a function as follows.
a.) Get connection to your org ReferIntegration Blog.
$crmHandle = $this->getConnection()
b.)$sfdc = new SforcePartnerClient();// Making object of toolkit class
c.)Create a variable for your class name mine is "reportManager"
define ("_WS_NAMESPACE_", 'http://soap.sforce.com/schemas/class/reportsManager');
d.)Set headers of your request
$session=array("sessionId" => $_SESSION['sessionId']);
$sforce_header = new SoapHeader(_WS_NAMESPACE_, "SessionHeader",$session);
e.) Create a client of your webservice method
$client = new SoapClient('includes/soapclient/reportsManager.wsdl.xml');
f.)Set Parameters for your sebservice method mine takes a single param that is report name
$wsParams=array('ReportName'=>'test');
g.)Time to call the webservice method
$response = $client->FindReport($wsParams);
var_dump($response);
Bingo you have your result in $response
Source : http://www.saasanalogy.com/utlilze-a-apex-webservice-in-php/
Comments
Post a Comment