Изночально идея с
http://habrahabr.ru/post/134217/на инфостарте есть она же
с использованием Elisy.NetBridge4
но я хотел попробовать на 7-ке и с использованием v7CLR
ip = "*";
port = "8082";
OLEExSup = СоздатьОбъект("OLEExSup");
Net = СоздатьОбъект("CLRFactory");
EncodingUTF8 = СоздатьОбъект("!System.Text.UTF8Encoding");
HttpListener = СоздатьОбъект("!System.Net.HttpListener, System, version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
HttpListener.Prefixes.Add("http://"+ip+":"+port+"/");
HttpListener.Start();
Сообщить("--------------------------------------------------");
Сообщить("<<< start web-сервис >>>");
Сообщить("<<< ip: "+ip+" >>>");
Сообщить("<<< port: "+port+" >>>");
Сообщить("--------------------------------------------------");
Сообщить("Прослушивание...begin");
responseString = "<html>"+
" <head><title>Ответ от HttpListener</title>"+
" <meta http-equiv=""content-type"" content=""text/html; charset=utf-8""/>"+
" </head>"+
" <body>"+
" тест "+
" </body>"+
"</html>";
ВсегоЗн = СтрДлина(responseString);
Массив = СоздатьОбъект("OleSafeArray");
Массив.Создать(Массив.ТипыЗначений.VT_VARIANT,ВсегоЗн,1);
Для i = 1 По ВсегоЗн Цикл
зн = СимволПоИндексу(i,responseString);
Массив.УстановитьЗначение(i-1,0,зн);
КонецЦикла;
// СимволПоИнд - возвращает сивол из строки по индексу
конт = HttpListener.GetContext();
request = конт.Request;
response = конт.Response;
//*buffer = Encoding.GetBytes(responseString);
buffer = EncodingUTF8.GetBytes(Массив);
// Получить поток ответа и записать ответ в него.
response.ContentLength64 = buffer.Length;
output = response.OutputStream;
output.Write(buffer,0,buffer.Length);
// // Необходимо закрыть выходной поток и остановить прослушивание
output.Close();