2017-03-27 1 views
0

私のsugarcrmサイトはLinuxのubantuサイトでローカルです。私はいくつかのPHPファイルをこのサイトに電話しています。azureからsugarcrmへの同じRestの呼び出しを別の結果を返す

私も、単純なREST呼び出し、時にはそれが正しい結果を返しますが、時にはそれだけで以下のように、「無効なセッション」を返すために見つける:、私はconstently要求PHPを更新すると

Array ([name] => Invalid Session ID [number] => 11 [description] => The session ID is invalid) 

私が意味しますそれが返すものは確かではありません。これらのPHPファイルを空白ではなく私のローカルマシンに置くと、何回テストしても、すべて正しい結果が得られます。

私の残りの要求の順序は次のとおりです。以下のような管理者のユーザー名とPWDと

最初のログイン:

$url = "http://crm.abc.xyz/service/v4_1/rest.php"; 
ini_set('max_execution_time', 300); 

function restRequest($method, $arguments){ 
global $url; 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$post = array(
    "method" => $method, 
    "input_type" => "JSON", 
    "response_type" => "JSON", 
    "rest_data" => json_encode($arguments), 
); 

curl_setopt($curl, CURLOPT_POSTFIELDS, $post); 

$result = curl_exec($curl); 
curl_close($curl); 
return json_decode($result,1); 
} 

$carrierID = '9'; 

$userAuth = array(
'user_name' => 'admin', 
'password' => md5('XXXXXXX'), 
); 
$appName = 'My SuiteCRM REST Client'; 
$nameValueList = array(); 

$args = array(
    'user_auth' => $userAuth, 
    'application_name' => $appName, 
    'name_value_list' => $nameValueList); 

$result = restRequest('login',$args); 
$sessId = $result['id']; 

一度他の残りの部分を作るために、このセッションを使用して、変数$ SESSIDに戻り、セッションIDを取得電話:

$entryArgs = array(
    'session' => $sessId, 
    'module_name' => 'Accounts', 
    'query' => "carrierid_c ='999'", 
    'max_results' => 2, 
    'deleted' => 0, 
); 

$result = restRequest('get_entry_list',$entryArgs); 
print_r($result); 

print_r($ result);時にはそれが表示:

Array ([result_count] => 0 [total_count] => 0 [next_offset] => 0 [entry_list] => Array () [relationship_list] => Array ()) 

はありません。このアカウントを意味し、これは、
正しいですが、表示、それをsomethimes:要求は紺碧からubantuサイトに送信するとき

Array ([name] => Invalid Session ID [number] => 11 [description] => The session ID is invalid) 

私の推測では、それかもしれないからであり、別のインスタンスので、ubuntuでsugarcrm recv別のIPからの同じユーザーの要求と、それは偽のセッションだと思う、私はこの推測が正しいかどうかわからない、また紺碧にそれを修正する方法を知らない、あなたの助けに感謝します。

答えて

0

私は答えを見つける必要があり、紺碧の「無効なセッション」を避けるために、VAR異なるIPをSugarCRMのためのリクエストを送信ください、私はシステム設定で、「クライアントIPの検証」のチェックを外し必要---->事前

enter image description here

関連する問題