AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.03.2009, 00:43   #7  
rDenis is offline
rDenis
Участник
 
6 / 11 (1) +
Регистрация: 21.03.2009
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Если файл текстовый, то, на мой взгляд, лучше использовать http post как говорит Aleksey_M. Проблем особых нет - в аксапте используется тот же WinInet, а на PHP пишется скрипт из нескольких строк. FTP в данном случае создаст дополнительные трудности при администрировании - придется права настраивать, порты открывать и т.п.

А вот если файл бинарный, то только FTP, http post в принципе все равно какие данные передавать, а вот в Аксапте будут проблемы, так как не получается получить указатель на бинарные данные чтобы передать его в фукнцию. Тип str для этого не подойдет, так как обрежет данные по первому нулевому символу.
Пытаюсь передать файл по http, к сожалению не выходит.
Добавил в WinInet new()
X++:
 _httpOpenRequest = new DLLFunction(_winInet, 'HttpOpenRequestA');
    _httpOpenRequest.returns(ExtTypes::DWORD);
    _httpOpenRequest.arg(ExtTypes::DWORD);
    _httpOpenRequest.arg(ExtTypes::STRING);
    _httpOpenRequest.arg(ExtTypes::STRING);
    _httpOpenRequest.arg(ExtTypes::STRING);
    _httpOpenRequest.arg(ExtTypes::STRING);
    _httpOpenRequest.arg(ExtTypes::STRING);
    _httpOpenRequest.arg(ExtTypes::DWORD);
    _httpOpenRequest.arg(ExtTypes::DWORD);

    _httpSendRequest = new DLLFunction(_winInet, 'HttpSendRequestA');
    _httpSendRequest.returns(ExtTypes::DWORD);
    _httpSendRequest.arg(ExtTypes::DWORD);
    _httpSendRequest.arg(ExtTypes::STRING);
    _httpSendRequest.arg(ExtTypes::DWORD);
    _httpSendRequest.arg(ExtTypes::POINTER);
    _httpSendRequest.arg(ExtTypes::DWORD);
Создал два метода
X++:
int  httpOpenRequest(int _handler, str _request, str _targetObjectName)
{
    return _httpOpenRequest.call(_handler, _request, _targetObjectName, 0, 0, 0, 1,0);
}
boolean  httpSendRequest(int _handler, BinData _file, int _size)
{
    return _httpSendRequest.call(_handler, "Content-Type: application/x-www-form-urlencoded", 47, _file, _size);
}
И вызываю так
X++:
    BinData     binData = new BinData();

    binData.loadFile("c:\\test5.txt");

    code1 = winInet.internetConnect("192.168.0.10", "", "", 3);
    code2 = winInet.httpOpenRequest(code1, "POST", "receive.php");
    iwinInet.httpSendRequest(code2, binData, binData.getVariant().safeArray().lastIndex()))
Возможно задаю неправильные параметры для функций,или неправильно указал константы. К сожалению не нашел реализацию этих функций для аксапты.
Теги
web, web сервер

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Организация доступа внешних веб-пользователей к DAX 4.0 alex55 DAX: Администрирование 1 07.06.2009 17:48
Обновление Веб-форм на сервере Sharepoint IvanS DAX: Программирование 2 07.04.2008 08:46
Не могу добавить веб-пользователя! Pawlik DAX: Администрирование 5 14.12.2005 12:25
Перенос Веб проекта Koriolis DAX: Программирование 2 27.07.2005 16:46
Сохранение файла в таблице Andrew Besedin DAX: Программирование 2 10.06.2003 06:48

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:00.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.