国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

salesforce web service入門使用指南之PHP篇

2020-03-22 19:58:37
字體:
來源:轉載
供稿:網友
  • 存儲在salesforce中的數據,如標準對象和自定義對象,均可通過Web Service來調用,本文以PHP為開發語言來講解其開發流程。

    第一步:下載PHP Toolkit。
    到http://wiki.developerforce.com/page/Force.com_Toolkit_for_PHP 下載最新的PHP版工具包。
    下載后解壓,把 test和 soapclient兩個文件夾復制到你的網站根目錄下。

    第二步:下載WSDL。
    最常用的是企業版和合作伙伴WSDL,我們要用的是企業版的,因為它包含了自定義對象。
    設置-》html' target='_blank'>應用程序設置-》API,生成企業版的WSDL,把生成的XML另存為文件,命名為wsdl.enterprise.xml ,放到 soapclient目錄下。

    第三步:獲取安全標記
    由于SOAP客戶端在登錄時使用的密碼是 密碼+安全標記 的認證方式,所以安全標記是必須的。
    設置-》我的個人信息-》重新設置我的安全標記,完成后安全標記會發送到你的郵箱。

    第四步:開始測試Web Service
    編輯/test/enterprise.php,替換為以下內容


    <?php// SOAP_CLIENT_BASEDIR - folder that contains the PHP Toolkit and your WSDL// $USERNAME - variable that contains your Salesforce.com username (must be in the form of an email)// $PASSWORD - variable that contains your Salesforce.ocm passwordheader("Content-Type:text/html;charset=UTF-8");ini_set("soap.wsdl_cache_enabled", "0"); //清空原有的wsdl緩存define("SOAP_CLIENT_BASEDIR", "../soapclient");$USERNAME='******@***.com';  //登錄用戶名$PASSWORD="*****"."*****************";   //前面是登錄密碼,后面是第二步獲取的安全標記require_once (SOAP_CLIENT_BASEDIR.'/SforceEnterpriseClient.php');require_once (SOAP_CLIENT_BASEDIR.'/SforceHeaderOptions.php');// domainName__c是一個自定義對象!!!$query="Select Name,ID__c,expireDate__c,serviceProvider__c,firstYearFee__c,nextYearFee__c,regDate__c From domainName__c"; try {	$mySforceConnection = new SforceEnterpriseClient();	$mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR.'/wsdl.enterprise.xml');	$mylogin = $mySforceConnection->login($USERNAME, $PASSWORD);        //var_dump($mySforceConnection->getUserInfo());	//var_dump($mylogin->userInfo);        //echo "***** Get Server Timestamp *****/n";        //$response = $mySforceConnection->getServerTimestamp();        //var_dump($response);        //var_dump($mySforceConnection->describeSObject('User'));          $result = $mySforceConnection->query($query);        var_dump($result->records);} catch (Exception $e) {	var_dump($e);}?>

    輸出示例:


    array (size=2)  0 =>     object(stdClass)[8]      public 'Id' => null      public 'ID__c' => string 'DN00000002' (length=10)      public 'Name' => string 'kiccp.com' (length=9)      public 'expireDate__c' => string '2013-10-28' (length=10)      public 'firstYearFee__c' => float 138      public 'nextYearFee__c' => float 66      public 'regDate__c' => string '2009-10-28' (length=10)      public 'serviceProvider__c' => string 'a0I90000008QWMxEAO' (length=18)  1 =>     object(stdClass)[9]      public 'Id' => null      public 'ID__c' => string 'DN00000001' (length=10)      public 'Name' => string 'wfgweifn.com' (length=12)      public 'expireDate__c' => string '2014-05-03' (length=10)      public 'firstYearFee__c' => float 38      public 'nextYearFee__c' => float 68      public 'regDate__c' => string '2013-05-03' (length=10)      public 'serviceProvider__c' => string 'a0I90000008QWMnEAO' (length=18)

    常見錯誤及解決辦法:
    0.錯誤信息:不支持https
    解決辦法:為PPH啟用https,apache的話應該是開啟openssl擴展。

    1.錯誤信息:提示用戶名密碼錯誤。
    解決辦法:確認用戶名密碼正確及密碼后加上了正確的安全標記。

    2.錯誤信息:SoapFault Object ( [message:protected] => Element {}item invalid at this location
    解決辦法:你可能用的是SforcePartnerClient,改成SforceEnterpriseClient,并使用企業版WSDL。www.it165.net

    3.錯誤信息:獲取的記錄集為空
    解決辦法:確認當前用戶對對象有訪問權限且查詢語句書寫正確,且所使用的是最新的企業版WSDL(更新對象屬性或字段后需要重新生成WSDL)。另外你或許需要清空WSDL緩存,代碼如下:

            ini_set("soap.wsdl_cache_enabled", "0");        

    以上錯誤本人在開發過程中全部遇到過,汗。。。

    值得注意的是不同的force.com版本有不同的API調用次數限制,比如開發者版和企業版每24小時有5000次的調用限制。

    以上測試是在開發者版本(Developer Edition)下進行的。其它版本使用方法一樣。由于開發者版本通常只創建一個帳號,這個帳號對所有對象都有讀寫刪權限,當把打包的應用程序部署到企業版上面時,請務必確認用戶權限!!!

    本人大約是從09年10月開始接觸Salesforce CRM,當時注冊了三個免費的企業版帳號,現在這類帳號已關閉注冊,只能申請試用一個月,購買的話是每用戶每月125美元(哥賺了,哈哈,不好好用用實在對不起自己)。企業版數據存儲空間1G,而免費的開發者版只有20M,一條記錄是2K,所以開發者版只能存儲1萬條記錄,畢竟它是用來做測試的,測試完成后把應用程序打包放到AppExchange上給企業版用才是最終目的。

    PS: salesforce有移動版,支持Android,iPhone,BlackBerry,可在手機上訪問標準對象和自定義對象。開發者版本可使用完整版本的Salesforce Mobile,而企業版只能使用Mobile Lite,它不支持訪問自定義對象。下一篇博文中我會給出Salesforce Mobile訪問自定義對象的方法。因為Salesforce的權限控制太嚴格了,對新手來說簡直就是噩夢。


    摘自:blog.kiccp.comPHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 河西区| 高淳县| 武汉市| 兴义市| 庆阳市| 榆社县| 毕节市| 宜宾市| 夏邑县| 诸暨市| 信宜市| 九江县| 曲松县| 新昌县| 浙江省| 东阿县| 常德市| 莱西市| 开化县| 孙吴县| 靖宇县| 河北省| 綦江县| 康乐县| 常宁市| 濮阳县| 陵水| 兴义市| 镇远县| 普安县| 静宁县| 福海县| 东辽县| 德令哈市| 枞阳县| 兴海县| 郯城县| 洛川县| 抚顺市| 阿巴嘎旗| 华容县|