0

Enterprise WSDL で PHP Toolkit (v20) を使用して、Web アプリケーションの Salesforce オブジェクトとレコードにアクセスしています。

ローカルホストですべてが正常に機能しました。

スクリプトをウェブホスト (inmotion) にアップロードすると、作成機能が機能しません。エラーや警告は表示されませんが (エラー報告を E_ALL に設定していますが)、スクリプトの実行は create 関数に遭遇すると停止します。

ただし、クエリ関数を使用してクエリを実行するか、サーバーのタイムスタンプを取得するようなものは正常に機能します。

繰り返しますが、ローカルホストでは問題なく動作するため、コードの問題ではないと思いますが、エラー/警告が表示されず、例外がスローされないため、私の人生では問題を理解できません。

この例ではカスタム オブジェクトに挿入しようとしていますが、標準の Account オブジェクトまたは Contact オブジェクトにも挿入しようとしましたが、違いはありませんでした。

問題のトラブルシューティングを行う方法について、誰かが私を導くことができれば、それは素晴らしいことです.

ありがとう。

コードは次のとおりです。

<html>
<head></head>
<body>
<?php
    ini_set("soap.wsdl_cache_enabled", "0");
    define("USERNAME", "myusername");
    define("PASSWORD", "mypassword");
    define("SECURITY_TOKEN", "mysecuritytoken");

    require_once ('soapclient/SforceEnterpriseClient.php');

    try {
            $sflink = new SforceEnterpriseClient();
            $sflink->createConnection("soapclient/auv.wsdl.xml",null,array('trace'=>true));
            //$sflink->createConnection("soapclient/auv.wsdl.xml");
            $sflink->login(USERNAME, PASSWORD.SECURITY_TOKEN);

            // Test to get the server timestamp - Works fine.   
            echo "Getting Timestamp<br>";
            $resp = $sflink->getServerTimestamp();
            print_r($resp);
            echo "<br>";

            // Test to query the server - Works fine.
            $query = "SELECT Id, AccountId, FirstName, LastName FROM Contact WHERE Email = 'ankur@alfauv.com'";
            $response = $sflink->query($query);

            echo "Select result is: <br>";
            print_r($response);
            echo "<br>";

            // Insert into UVSI Search Object (My custom object) - Does not work
            $sObject = new stdclass();
            $sObject->Account__c = "00190000006yxUrAAI";
            $sObject->Contact__c = "00390000005ZYLcAAO";
            $sObject->Application__c = "AAP";
            $sObject->Flow__c = 66;
            $sObject->Flow_Unit__c = "m3-hr";
            $sObject->Dose__c = 33;
            $sObject->UVT__c = 99; 
            echo "Attempting creation<br>";
            $createResponse = $sflink->create(array($sObject), 'UVSI_Search__c');
            echo "This line never prints.<br/>";

        } catch (Exception $e) {
            echo "In error condition<br>";
            echo $sflink->getLastRequest();
            echo $e->faultstring;
            exit();
        }

?>
</body>
</html>
4

1 に答える 1

0

これに3日間頭を悩ませた後、ついに解決策を見つけました。サイトの PHP バージョンを 5.2 から 5.3 に変更したところ、問題は解消されました。

なぜうまくいかなかったのかはまだわかりませんが、これは他の誰かが同様の問題を抱えている場合の解決策です.

于 2013-09-23T18:19:19.047 に答える