Пытаюсь выгрузить данные из 1с в yii2. Сделал контроллер, в нем принимаю get параметры запроса и в зависимости от параметра отдаю 1с ответы. Когда инициируешь обмен из 1с режимы checkauth, init, complete проходят и обрабатываются, но вот режим file (передача xml) перекидывает видимо на 404, потому что именно в view\site\ error.php отлавливаю этот запрос. Если ввожу его в браузере то получаю адекватный ответ от yii.
вот дебаг по $_SERVER['REQUEST_URI'] того-что нормально отрабатывает и отдает ответы:
----------
запрос - /exchange?type=catalog&mode=checkauth
ответ - success PHPSESSID o9qm1a8a65cho1kksn31ps20i0
---------
запрос - /exchange?type=catalog&mode=init&&version=3.1
ответ - zip=yes file_limit=0
---------
запрос - /exchange?type=catalog&mode=complete&
ответ - success
---------
а вот этот запрос (передача xml) улетает в 404, ловлю его там
/exchange?type=catalog&mode=file&filename=v8_3F82_773.zip&
если ввожу в браузере /exchange?type=catalog&mode=file&filename=v8_3F82_773.zip&
то получаю success
по коду просто заглушки с ответами 1с-нине
Код: Выделить всё
class ExchangeController extends Controller
{
public function actionIndex()
{
$request = Yii::$app->request;
switch ($request->get('mode')) {
case 'checkauth' :
echo "success\n";
echo session_name() . "\n";
echo session_id() . "\n";
exit;
case 'init' :
$zip = extension_loaded('zip') ? 'yes' : 'no';
echo 'zip='.$zip."\n";
echo "file_limit=0\n";
exit;
case 'file' :
echo "success\n";
exit;
case 'import' :
echo "success\n";
exit;
case 'complete' :
echo "success\n";
exit;
}
}
}
Может кто сталкивался?