Вниз
Скачать: CL | DM;

Сервер приложений в виде WebService по Win2003   Найти похожие ветки 

← →
neg2001   (2004-03-10 11:18) [0]

Возникла проблема. Подскажите пожалуйста, кто знает.
В Delphi был разработан сервер приложений в виде web-сервиса. Для работы с ним использовался стандартный компонент TSOAPConnection. Всё прекрасно работало уже несколько лет на Win2000. Но после переноса этого сервиса на Win2003, сервис перестал работать. Причем страница "Service Info Page" грузится нормально и выдаёт список всех интерфейсов и параметров методов. Но при запросе wsdl, почему-то выдаётся не xml, а сама html страница.
ISS настроен правильно - запуск cgi-скрипта разрешил. Запуск скрипта в происходит с правами админа.


← →
Armen   (2004-03-10 13:21) [1]

Вот наткнулся на то что CGI/ISAPI программы написанные на Delphi, нормално работающие во всех версиях win, под w2003 начали падать в access violation.
Оказалось, что функция
DWORD GetEnvironmentVariable(
LPCTSTR lpName, // address of environment variable name
LPTSTR lpBuffer, // address of buffer for variable value
DWORD nSize // size of buffer, in characters
);
имеет bug, если lpBuffer==null или nSize=0 то происходит access violation в ntdll.dll.

Патч для Delphi:
в SysUtils.pas меняем функцию GetEnvironmentVariable на этот:

function GetEnvironmentVariable(const Name: string): string;
var
Len: integer;
S : String;
begin
SetLength(S, 1);
Result := "";
Len := GetEnvironmentVariable(PChar(Name), PChar(S), 1);
if Len > 0 then
begin
SetLength(Result, Len - 1);
GetEnvironmentVariable(PChar(Name), PChar(Result), Len);
end;
end;

Перекомпилируем SysUtils.
Должна помочь.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
6-1074584487
Winnet
2004-01-20 10:41
2004.03.28
Как же их установить?


4-1072359276
Kinderr
2003-12-25 16:34
2004.03.28
Ещё раз про трэй (только для профессионалов)


1-1079066913
Kamil
2004-03-12 07:48
2004.03.28
Раскладка в активном окне


1-1079027626
DDA
2004-03-11 20:53
2004.03.28
Зарегистрирована горячая клавиша или нет


4-1073995115
Chaynik
2004-01-13 14:58
2004.03.28
Как использовать 16 битную DLL в 32 битном приложении




   Наверх