![]() |
![]() |
![]() |
|
Передача параметров методом POST через "HTTPСоединение" | ☑ | ||
---|---|---|---|---|
0
mzelensky
10.10.11
✎
11:54
|
Доброго времени суток!
Есть вебсервер, который обрабатывает запросы и выдает ответы в формате xml: http://81.95.212.203/WebServer/Service1.asmx Рассмотрим на примере запрос "ConnectToServer": http://81.95.212.203/WebServer/Service1.asmx?op=ConnectToServer Там задается 3 параметра. На тестовой странице эти параметры передаются методом POST. Из 1С-ки я делаю так: "ФайлСообщения=ПутьКФайлуСообщения; Файл=Новый Файл(ФайлСообщения); ЗаголовокСообщения="Content-Type: text/xml"+Символы.ВК+Символы.ПС+ "Content-length: "+Формат(Файл.Размер(),"ЧГ=0"); ФайлРезультата=ПолучитьИмяВременногоФайла("xml"); Соединение = Новый HTTPСоединение("81.95.212.203"); Соединение.Post(ФайлСообщения, "/WebServer/Service1.asmx/ConnectToServer", ФайлРезультата, ЗаголовокСообщения); ЧтениеXML=Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ФайлРезультата); ЧтениеXML.Закрыть();" Мне сказали, что эти самые параметры нужно прописать в файле "ФайлСообщения", но КАК ИХ ТАМ ПРОПИСАТЬ (подряд, каждый на своей строке, через запятую или как)??? |
|||
1
mzelensky
10.10.11
✎
11:55
|
уже вроде пробовал по разному, но возникает ошибка - "Ошибка работы с Интернет: внутренняя ошибка сервера (500). System.InvalidOperationException: Недопустимый формат запроса: text/xml.
в System.Web.Services.Protocols.HttpServerProtocol.ReadParameters() в System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest() " |
|||
2
DEVIce
10.10.11
✎
11:57
|
Кстати тоже озадачиваюсь эти вопросом. Через заголовки не прокатило, через файл тоже не получается.
|
|||
3
mzelensky
10.10.11
✎
11:59
|
+ сам конект к серверу я реализовал через GET - все прошло нормально, но в этом случае есть ряд ограниченйи на параметры (например логин можно использовать ток на латинице, а post-ом работает и с кирилицей)...
|
|||
4
sikuda
10.10.11
✎
12:05
|
Чисто с 1С не получилось передавать и принимать нормальные Webservice.(в частности SAP XI). можно попробовать через Request от Microsoft ActiveX.
|
|||
5
mzelensky
10.10.11
✎
12:19
|
(4) пример работы можно?!
|
|||
6
mzelensky
10.10.11
✎
12:35
|
fggg
|
|||
7
Infsams654
10.10.11
✎
12:36
|
Пользуюсь COMОбъект("MSXML2.XMLHTTP").
мHTTPСоединение.open ("POST", мПротокол + Адрес + мРесурсНаСервере + "?mode=file&type=" + ТипДанных + "&filename=" + UrlEncode(ИмяФайла), Ложь, Логин, Пароль); мHTTPСоединение.setRequestHeader ("Host", ПолучитьHost(Адрес)); мHTTPСоединение.setRequestHeader ("User-Agent", "Mozilla/5.0"); мHTTPСоединение.setRequestHeader ("Cookie", Cookie.Имя + "=" + Cookie.Cookie); мHTTPСоединение.setRequestHeader ("Content-Type", "text/plain"); мHTTPСоединение.setRequestHeader ("Content-Length", XMLСтрока(СтрДлина(СтрокаТекста))); мHTTPСоединение.send(СтрокаТекста); Ответ = мHTTPСоединение.responseText; |
|||
8
mzelensky
10.10.11
✎
12:43
|
(7) замечательно, еще бы знать что означают все эти параметры :(
|
|||
9
Infsams654
10.10.11
✎
12:48
|
в инете полно инфы
|
|||
10
dk
10.10.11
✎
12:49
|
сам недавно с пост воевал, но в 7-ке, но по com, поэтому пофиг )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |