Задача: написать обработку которая будет посылать пакет СМСок разным клиентам с текстом. Отправку сделать по протоколу SMPP. Так же сделать обработку получаемых данных(статусов СМСок).
Заключен договор с провайдером таких услуг.
Собственно код: (не мой, нашел и чуть переделал)
&НаКлиенте
Процедура ВывестиОтвет(Текст)
КолСтрок = Текст.КоличествоСтрок();
Для Инд = 1 По КолСтрок Цикл
Стр = Текст.ПолучитьСтроку(Инд);
Сообщить(Стр);
КонецЦикла;
КонецПроцедуры
&НаСервере
Функция ЗапросHTTP(Сервер, СтрокаПолучения, ИмяВходящегоФайла)
Текст = Новый ТекстовыйДокумент();
Попытка
Соединение = Новый HTTPСоединение(Сервер,,,,);
Соединение.Получить(СтрокаПолучения, ИмяВходящегоФайла,);
ВходящийФайл = Новый Файл(ИмяВходящегоФайла);
Если НЕ ВходящийФайл.Существует() Тогда
Сообщить("Не удалось получить ответ с сервера");
Возврат 0;
КонецЕсли;
Текст.Прочитать(ИмяВходящегоФайла, КодировкаТекста.UTF8);
Возврат Текст;
Исключение
Сообщить("Ошибка: " + ОписаниеОшибки());
Возврат 0;
КонецПопытки;
КонецФункции
&НаКлиенте
Процедура ОтправитьSMS(Команда)
ИмяВходящегоФайла = "" + КаталогВременныхФайлов() + "outsms.txt";
Текст = Новый ТекстовыйДокумент();
login = "login";
password = "password";
from = "from";
Сервер = "server.com.ua";
СтрокаПараметраПолучения = "/sms/";
ВыбНомер = "380931234567";
ВыбТекст = "text";
Текст = ЗапросHTTP(Сервер
,[b] СтрокаПараметраПолучения + "processing?From=" + from + "&To=" + СокрЛП(ВыбНомер) + "&Text=" + СокрЛП(ВыбТекст)[/b]
, ИмяВходящегоФайла);
ВывестиОтвет(Текст);
КонецПроцедуры
Код рабочий, назад приходит ответ (outsms.txt), вида:
Цитата
ID:op@1333888624866
Status:0
Вопрос: как отправлять запрос на получение данных(статусов отправленных СМСок) по всей рассылке?
Прислали вот такой формат отправки запроса:
Цитата
1. POST URI HTTP/1.1
2. Host: localhost
3. Content-Type: text/xml; charset=utf-8
4. Content-Length: length
5. SOAPAction: Action
6.
7. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://ws.server.com.ua/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
8. <soapenv:Body>
9. <q0:requestNotificationStatus>
10. <arg0>
11. <requestID>notificationID</requestID>
12. <user>
13. <password>password</password>
14. <userName>login</userName>
15. </user>
16. <statusType>statusType</statusType>
17. </arg0>
18. </q0:requestNotificationStatus>
19. </soapenv:Body>
20. </soapenv:Envelope>
21.
Это я так понял структура получаемого файла:
Цитата
22.
23. HTTP/1.1 200 OK
24. Content-Type: text/xml; charset=utf-8
25. Content-Length: length
26.
27. <?xml version="1.0" ?>
28.
29. <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
30. - <S:Body>
31. - <ns2:requestNotificationStatusResponse xmlns:ns2="http://ws.server.com.ua/">
32. - <return>
33. <errorDescription />
34. <notificationResponse>0</notificationResponse>
35. <accepted>accepted</accepted>
36. <delivered>delivered</delivered>
37. <expired>expired</expired>
38. <notificationID>notificationID</notificationID>
39. - <statuses>
40. <errorDescription />
41. <notificationResponse>notificationResponse </notificationResponse>
42. <date>date</date>
43. <id>messageID</id>
44. <phone>phone</phone>
45. <status>status</status>
46. </statuses>
47. <total>total</total>
48. <undeliverable>undeliverable</undeliverable>
49. </return>
50. </ns2:requestNotificationStatusResponse>
51. </S:Body>
52. </S:Envelope>
Я так понял надо передавать в GET запросе xml файл?