私の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からの同じユーザーの要求と、それは偽のセッションだと思う、私はこの推測が正しいかどうかわからない、また紺碧にそれを修正する方法を知らない、あなたの助けに感謝します。