Разное

Протокол xml: Недопустимое название — Центр поддержки системы бронирования

Особенности и параметры протокола XML

Передача документов на языке XML является одним из самых распространенных и универсальных методов передачи данных через Интернет.

Протокол XML подразумевает обмен запросами на языке XML. Обмен информацией происходит через соединение TCP/IP по протоколу HTTP или HTTPS (HTTP over SSL) методом POST.

Для обмена информацией посылается XML-запрос вида: <xml_request name=″”>

Возможные значения поля name:

  • name=″sms_send″ – запрос на отправку SMS
  • name=″sms_status2″ – запрос на получение статуса ранее отправленных SMS

В ответ приходит отклик вида: <xml_result xml_name=″″ res=″″>

Возможные значения поля name:

  • name=″sms_send″ – запрос на отправку SMS
  • name=″sms_status2″ – запрос на получение статуса ранее отправленных SMS

Возможные значения поля res:

  • res=″0″ – ошибок нет
  • res=″-xxxxx″ – обнаружена ошибка с кодом -xxxxx

Авторизация происходит передачей логина и пароля: <xml_user lgn=″″ pwd=″″/>

Преимущества:

  • возможности расширения благодаря гибкости языка XML
  • безопасность и сохранность данных, передаваемых по протоколу HTTPS методом POST

1. Входные параметры
  • Адрес обращения :
    http://service.qtelecom.ru/public/http/z.php или https://service.qtelecom.ru/public/http/z.php
  • Формат входных данных :

Content-Type: application/x-www-form-urlencoded
Content-Charset: UTF-8

  • Тип авторизации : PLAIN (открытым текстом)
  • Метод отправки запроса : POST

2. XML-запросы

Отправка SMS сообщения и получение статусов ранее отправленных сообщений производятся отправкой XML-запроса определенной структуры.

В одном XML-запросе может быть отправлено до 250 SMS сообщений.

2.1 XML-запрос для отправки сообщений

Клиент отправляет XML-запрос на отправку сообщения (определить, что идет отправка SMS можно по полю name=″sms_send″)

<?xml version="1.0" encoding="UTF-8" ?>
  <xml_request name="sms_send">
  <xml_user lgn="" pwd=""/>
       <sms sms_id="1" number="XXXXXXXXXXX" source_number="sender" ttl="10">text sms</sms>
       <sms sms_id="2" number="XXXXXXXXXXX" source_number="" ttl="15">text sms</sms>
       <sms sms_id="s_3" number="XXXXXXXXXXX" source_number="">text sms</sms>
</xml_request>

Параметры запроса:

  • sms_id – уникальный идентификатор SMS в системе клиента. Строка длиной до 50 символов. На основе уникальности параметра sms_id проверяется дублирование запросов на отправку SMS. Если sms_id
    использован повторно, система вернет xml_result/push/@res=1, а в push_id будет указан идентификатор первой попытки отправки сообщения с данным sms_id.
  • number – телефонный номер получателя в международном формате или короткий номер. Строка длиной до 25 символов. Параметр не может быть пустым.
  • source_number – номер отправителя. Строка длиной от 11 до 16 символов в зависимости от nипа (номер или текст). Параметр не может быть пустым.
  • ttl – Время жизни сообщения в минутах. Необязательный параметр. Максимальное время, в течение которого сообщение должно быть доставлено на телефон. Если в течение этого времени доставка не возможна (например абонент не в зоне действия сети), сообщение не будет доставлено вовсе. Внимание, данная функция может не работает для некоторых направлений, например для CDMA телефонов.

При успешном разборе XML-запроса в ответ придет сообщение вида:

<xml_result xml_name="sms_send" res="" >
       <push sms_id="1" push_id="XXXX" res="0" number="XXXXXXXXXXX" sms_count=""/>
       <push sms_id="2" push_id="XXXX" res="0" number="XXXXXXXXXXX" sms_count=""/>
       <push sms_id="3" res="" description=""/>
</xml_result>

Параметры ответа:

  • push_id – уникальный идентификатор SMS в системе ESME
  • sms_id – уникальный внутренний идентификатор SMS в системе клиента
  • res=0 – SMS было отправлено успешно
  • res – ″-xxxx″ — код ошибки, возникшей при отправке конкретного SMS
  • description – описание ошибки, возникшей при отправке конкретного SMS
  • number – номер телефона получателя SMS
  • sms_count – количество SMS, из которых состоит одно набранное сообщение

Если в результате разбора XML-запроса возникли ошибки, придет сообщение вида:

<xml_result res=″-XXXX″ description=″″/>

Параметры ответа:

  • res – код ошибки XML-запроса или его обработки
  • description – описание ошибки

2. 2 XML-запрос для получения статуса ранее переданных сообщений

Клиент отправляет XML-запрос на получение статуса переданных сообщений (определить, что идет получение статуса SMS можно по полю name=″sms_status2″)

<?xml version="1.0" encoding="UTF-8" ?>
<xml_request name="sms_status2" >
<xml_user lgn="" pwd=""/>
<sms push_id=""/>
<sms push_id=""/>
<sms push_id=""/>
<sms push_id=""/>
</xml_request>

Параметры запроса:

  • push_id – идентификатор ранее переданного SMS в системе ESME

При успешном разборе XML-запроса в ответ придет сообщение вида:

< xml_result name="sms_status2" res="" >
< sms push_id="" status="" number="XXXXXXXXXXX" delivery_date="" delivery_time="" description="" />
< sms push_id="" status="" number="XXXXXXXXXXX" delivery_date="" delivery_time="" description="" />
< sms push_id="" status="" number="XXXXXXXXXXX" delivery_date="" delivery_time="" description="" />
</xml_result>

Параметры ответа:

  • push_id – идентификатор ранее переданного SMS в системе ESME
  • status – код статуса доставки
  • number – номер телефона, на который было отправлено сообщение с указанным push_id
  • delivery_time — время доставки SMS. Строка вида «hh:mm:ss»
  • delivery_date – дата доставки SMS. Строка вида «dd.mm.yyyy»
  • description – описание статуса. Строка.

Если в результате разбора XML-запроса возникли ошибки, придет сообщение вида:

<xml_result res="-XXXX" description=""/>

Параметры ответа:

  • res – код ошибки XML-запроса или его обработки
  • description – описание ошибки

3. Ограничение на передачу специальных символов в тексте SMS

Для предотвращения ошибок при разборе XML-запросов и ответов, символы в тексте сообщения, которые используются как служебные в языке XML, необходимо заменять. Замена производится в запросах по таблице слева направо, а в ответах производится обратная замена справа налево.

Специальный символ Замена
< &lt;
> &gt;
» &quot;
&apos;
& &amp;

4. Статусы доставки ранее отправленных SMS

При выполнении запроса на получение статусов доставки ранее переданных сообщений <sms_status2> возвращаются коды, представленные в таблице.

Статус Описание Расшифровка статуса
-1004 Push to SMSC failed SMS не доставлена по одной из следующих причин:
— абонент находится вне зоны действия сети;
— номер не обслуживается оператором связи;
— недостаточно средств на счете;
— для абонента заблокирован/не поддерживается прием SMS;
— переполнена очередь входящих SMS на телефоне абонента;
либо по другим причинам, связанным с невозможностью доставки.
-1 Bad submit_id Указан не существующий push_id сообщения
1 Push request queued SMS помещена в очередь на отправку
2 Request redirected to SMSC/MMSC SMS передана оператору связи и ожидает доставку
4 Content delivery confirmed SMS доставлена

5. Коды ошибок, возникающих при обработке запросов

При обработке XML-запроса могут возникать ошибки, код которых возвращаются в атрибуте <res>, а описание в атрибуте <description> ответа. Не следует путать эти коды ошибок со статусами доставки SMS!

Система выдает описания ошибок, возникших как при разборе XML-запроса в целом, так и для каждого отдельного переданного сообщения.

5.1 Ошибки, относящиеся к XML-запросу в целом

Код и описание ошибки при разборе XML-запроса передается параметрами res и description в теге <xml_result>. Если возникли ошибки при разборе XML-запроса, она относится ко всем сообщениям данного запроса и ни одно из переданных в этом запросе сообщений не будет доставлено.

5.2 Ошибки, относящиеся к передаче отдельных сообщений запроса

Код и описание ошибки при отправке каждого конкретного SMS передается параметрами

res и description в теге <push>. Код и описание ошибки в теге <push> относится только к сообщению с данным <push_id>. Все сообщения запроса при этом будут доставлены или не доставлены независимо друг от друга.

XML API — Документация Devino Documentation latest

XML API — Документация Devino Documentation latest

Обзор

Документация включает описание API для отправки SMS-сообщений через платформу Devino Telecom с примерами запросов. API включает в себя возможность как транзакционных, так и массовых рассылок, получение подробной статистики по рассылкам. Документ предназначен для разработчиков, которые хотят добавить возможность взаимодействия с Сервисом отправки SMS-сообщений на страницы своих сайтов или в свои приложения. Общение с сервисом осуществляется при помощи отправки XML запросов в кодировке UTF-8 на заданный адрес сервиса по протоколу HTTPS методом POST, проверка типа контента не осуществляется. Каждый запрос может состоять из отправляемых сообщений и (или) запросов для получения статусов и (или) запросов для получения входящих сообщений.

Авторизация пользователя происходит путем передачи учетных сведений в теге package, обязательна при выполнении любых запросов.

Предупреждение

Внимание! Для использования данного вида интеграции необходимо обратиться к своему менеджеру, либо в техническую поддержку [email protected] для настройки доступа.

Сервис доступен по адресу:

https://xmlapi.devinotele.com

Отправка сообщений

https://xmlapi.devinotele.com/Send.ashx

Отправка сообщений осуществляется в соответствии с очередностью по получению сообщений и временем отправки.

Пример запроса:

<?xml version="1.0" encoding="utf-8" ?>
<package login="login" password="123456">
  <message>
    <default sender="SMSINFO"/>
    <msg recipient="+79021234567" sender="SMSINFO" date_beg="2008-12-27T15:55" date_end="2008-12-28T15:55" type="0">text</msg>
    <msg recipient="+79021234568">text</msg>
  </message>
</package>
ПараметрТип данныхОбязательныйОписание
Default НетТег, в котором определяются общие атрибуты, указываемые для всех отправляемых сообщений. Если какой-либо атрибут указан в сообщении, то атрибут данного тега игнорируется
msg даТег сообщения, в качестве параметра указывается текст отправляемого сообщения
idintegerНетПользовательский числовой идентификатор сообщения
recipientvarchar(21)ДаНомер телефона. Пример: 79031234567, +79031234567
sendervarchar(11)ДаАдрес отправителя
date_begdatetime, ISO8601НетДата отправки сообщения, указывается для отложенной отправки сообщений.
date_enddatetime, ISO8601НетДата, после которой сообщение теряет актуальность и если оно еще не было отправлено абоненту, отправляться не будет.
urlvarchar(100)Да *Ссылка для создания wap-push сообщения
typeintegerДаТип сообщения: 0-обычное сообщение 1-flash сообщение 2-wap-push сообщение

*Поле обязательное для отправки wap-push сообщений

На полученный запрос сервис возвращает в виде параметра статус сообщения, а в атрибутах идентификаторы, присвоенные сообщениям.

Пример ответа:

<?xml version="1.0" encoding="utf-8" ?>
<package>
  <message>
    <msg sms_id="0" sms_count="1">201</msg>
    <msg sms_id="1234568" sms_count="1">1</msg>
  </message>
</package>
ПараметрТип данныхОписание
msg Тег сообщения, в качестве параметра возвращается код статуса
idintegerПользовательский числовой идентификатор сообщения, необязательный атрибут, возвращается при указании данного атрибута в запросе
sms_idintegerЧисловой идентификатор сообщения, присвоенный шлюзом
sms_countintegerРеальное количество SMS к отправке

Запрос статусов сообщений

https://xmlapi.devinotele.com/Statistics. ashx

Статусы сообщений содержат информацию о текущем состоянии сообщения, регулярно обновляются и могут быть запрошены пользователем в любое время. Статусы можно запрашивать за последние 3 календарных дня. Максимальное количество ID в запросе 1000.

Пример запроса:

<?xml version="1.0" encoding="utf-8" ?>
<package login="login" password="123456">
  <status>
    <msg/>
    <msg sms_id="1234568"/>
  </status>
</package>
ПараметрТип данныхОбязательныйОписание
msg НетТег сообщения, для которого происходит запрос статуса
idintegerНет *Пользовательский числовой идентификатор сообщения, возвращается при указании данного атрибута в запросе
sms_idintegerДа *Числовой идентификатор сообщения, присвоенный шлюзом

*Можно указать любой из этих параметров

В ответ на запрос возвращается XML документ содержащий статусы для запрошенных сообщений, либо соответствующие коды ошибок.

Пример ответа:

<?xml version="1.0" encoding="utf-8" ?>
<package>
  <status>
    <msg sms_id="0" sms_count="1" date_completed="2009-03-14T15:27:03">102</msg>
    <msg sms_id="1234568" sms_count="1">1</msg>
  </status>
</package>
ПараметрТип данныхОписание
msg Тег сообщения, для которого происходит запрос статуса, в качестве параметра возвращается код статуса
idintegerПользовательский числовой идентификатор сообщения, возвращается при указании данного атрибута в запросе
sms_idintegerЧисловой идентификатор сообщения, присвоенный шлюзом
sms_countintegerРеальное количество SMS к отправке
date_completeddatetime, ISO8601Дата присвоения финального статуса

Коды статусов документа

При отправке XML документа могут возвращаться следующие коды ошибок:

КодHTTP StatusРасшифровка
ERR_UNKNOWN200Неизвестная ошибка
ERR_FORMAT201Неправильный формат документа
ERR_AUTHORIZATION202Ошибка авторизации

Пример ответа:

<?xml version="1. 0" encoding="utf-8" ?>
<package>
  <error>201</error>
</package>

Коды статусов сообщений

Данные коды используются при возврате статусов сообщений.

Статусы сообщений:

КодHTTP StatusРасшифровка
SCHEDULED100Запланировано
ENROUTE101В очереди
DELIVERED102Доставлено
EXPIRED103Просрорчено
DELETED104Просрочено
UNDELIVERABLE105Не доставлено
ACCEPTED106Принято
UNKNOWN107Ошибка
REJECTED108Отклонено
DISCARDED109Отклонено

Статусы ошибок:

КодHTTP StatusРасшифровка
ERR_UNKNOWN200Неизвестная ошибка
ERR_ID201Неправильный ID сообщения
ERR_SENDER202Неправильный адрес отправителя
ERR_RECIPIENT203Неправильный номер получателя
ERR_LENGTH204Слишком длинное или пустое сообщение
ERR_USER_DISABLE205Пользователь отключен
ERR_BILLING206Ошибка биллинга
ERR_OVERLIMIT207Превышение лимита выделенных сообщений

Read the Docs v: latest

Versions
latest
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.

XML-протокол

XML-протокол

Рабочие проекты (обсуждение разработчиков) События/пабы Закладки

Цель XML Протокол предназначен для разработки технологий, позволяющих двум или более одноранговым узлам общаться в распределенной среде, используя XML в качестве своей инкапсуляции язык. Решения, разработанные в рамках этой деятельности, позволяют использовать многоуровневую архитектуру на вершина расширяемого и простого формата обмена сообщениями, который обеспечивает надежность, простота, возможность повторного использования и интероперабельность. XML Заявление об активности протокола объясняет работу W3C по этой теме более подробно. подробности.

Первая рабочая группа в этом упражнении — XML Рабочая группа протокола.

Первоначальная цель рабочей группы по протоколу XML разработать структуру для систем обмена сообщениями на основе XML, которая включает в себя указание формата конверта сообщения и метода сериализации данных, в основном, но не исключительно, для RPC-приложений и в соответствии с вышеуказанные принципы. Более подробная информация содержится в Уставе.

  • Версия SOAP 1.2, часть 0: введение, часть 1: структура обмена сообщениями, часть 2: рабочие проекты дополнений опубликованы 17 декабря 2001 г.
  • Сценарии использования протокола XML Рабочий проект опубликован 17 декабря 2001 г.
  • XML-протокол (XMLP) Требование Документ
  • Абстрактная модель протокола XML
  • Сценарии использования протокола XML
  • SOAP, версия 1.2, часть 0: основы
  • SOAP, версия 1.2, часть 1: обмен сообщениями Каркас
  • SOAP, версия 1.2, часть 2: дополнения

Обсуждение разработчиков

Технические вопросы обсуждаются на [email protected] (Архив).

Подписаться на xml-dist-app, отправлять почту на [email protected] с Тема: подписка . Для большего информацию см. в W3C страница списка рассылки.

Публикации

  • Октябрь 2001 г. : SOAP версии 1.2 Часть 1: Рабочий проект платформы обмена сообщениями
  • Октябрь 2001 г. : SOAP версии 1.2 Часть 2: Дополнения, рабочий проект
  • Июль 2001 г. : SOAP версии 1.2 работает Проект
  • июль 2001 г. : Абстрактная модель протокола XML Рабочий проект
  • Март 2001 г. : Требования протокола XML Рабочий проект
  • Декабрь 2000 : XML Рабочий проект требований протокола
  • Сентябрь 2000 г. : Рабочая группа протокола XML Устав

События

В результате повышенного интереса к XML-протоколам W3C и другие недавно организовал несколько мероприятий по различным протоколам XML, связанным с деятельность в том числе

  • 11-12 апреля 2001 г. : Семинар по веб-сервисам в Сан-Хосе, Калифорния.
  • Сентябрь 2000 : Создание рабочего протокола XML Группа
  • 15-19 мая 2000 г. : W3C организует панель по протоколам XML на WWW9 в Амстердаме
  • Май 2000 г.: W3C признает отправку SOAP/1.1 как Примечание W3C: простой доступ к объектам Протокол (SOAP) 1.1. Заявители: Ariba, Inc., Commerce One, Inc., Compaq Computer Corporation, DevelopMentor, Inc., Hewlett Packard Company, International Business Machines. Corporation, IONA Technologies, Lotus Development Corporation, Microsoft Corporation, SAP AG, UserLand Software Inc
  • Май 2000 г.: W3C предоставляет начальный сравнение различных инициатив, уже представленных на рынке
  • Март 2000: Майкл Кондри, Sun, организует B2BXML BOF в IETF 47 в Аделаида, Австралия, 26-31
  • , февраль/март 2000 г.: W3C организует XML-протоколы. BOF в XTech 2000
  • , февраль 2000 г.: W3C предоставляет временную план для XML протокол работы
  • Декабрь 1999 г. : W3C создает [email protected] список рассылки для обсуждения вопросов, связанных с протоколом XML.

В этой области предпринимается множество усилий, от уровня транспорта до документов высокого уровня с длительным жизненным циклом, большинство из них уже составлено в Матрица протокола XML.

  • Матрица протокола XML

Ив Лафон , Хьюго Хаас

$Id: Overview.html,v 1.29 2001/12/18 22:34:52 ylafon Exp $

XML-протокол (XMLP)

Протокол XML

(XMLP) предоставляет простые протоколы, которые можно повсеместно развертывать и легко программировать с помощью языков сценариев, инструментов XML, интерактивных инструментов веб-разработки и т. д. Целью является создание многоуровневой системы, которая будет напрямую удовлетворять потребности приложений с простыми интерфейсами (например, getStockQuote, validateCreditCard), который можно постепенно расширять для обеспечения безопасности, масштабируемости и надежности, необходимых для более сложных интерфейсов приложений.

В частности, рабочей группе по протоколу XML поручено разработать следующие четыре компонента:

  1. Конверт для инкапсуляции XML-данных, которые должны передаваться интероперабельным образом, обеспечивающим распределенную расширяемость.
  2. Соглашение о содержимом конверта при использовании для приложений RPC (удаленный вызов процедур). Протокольные аспекты этого следует тесно координировать с IETF и прилагать усилия для использования любой работы, которую они выполняют, подробности см. ниже.
  3. Механизм сериализации данных, представляющих несинтаксические модели данных, такие как графы объектов и ориентированные помеченные графы, на основе типы данных схемы XML.
  4. Механизм использования транспорта HTTP в контексте протокола XML. Это не означает, что HTTP является единственным транспортным механизмом, который можно использовать для разработанных технологий, или что поддержка HTTP-транспорта является обязательной. Этот компонент просто учитывает тот факт, что HTTP-транспорт, как ожидается, будет широко использоваться, и поэтому эта рабочая группа должна рассмотреть его. Будет осуществляться координация с Инженерной группой Интернета (IETF), см. Блоки Расширяемый протокол обмена (BEEP).

Кроме того, работа, выполненная этой рабочей группой, должна отвечать следующим двум общим требованиям:

  1. Оболочка и механизмы сериализации, разработанные рабочей группой, не могут исключать какую-либо модель программирования или предполагать какой-либо конкретный способ связи между одноранговыми узлами. .
  2. В центре внимания должны быть простота и модульность, а также должна поддерживаться та расширяемость, которая действительно наблюдается в Интернете. В частности, он должен поддерживать распределенную расширяемость, когда у взаимодействующих сторон нет априорное знание друг друга.

Рабочая группа должна начать с разработки документа с требованиями, а затем оценить технические решения, предложенные в представлении SOAP/1.1, на соответствие этим требованиям. Если в ходе этого процесса рабочая группа находит решения, которые, по соглашению, являются улучшениями по сравнению с решениями, предложенными в SOAP 1. 1, следует использовать эти улучшенные решения.

Организация: W3C

Дополнительная информация: XMLP страница на сайте W3C

Статьи по теме для протокола XML (XMLP)

Дополнительные сведения по текущей теме: Протокол XML (XMLP)

  • Блоки расширяемого протокола обмена (BEEP)
  • Асинхронный протокол службы приложений (ASAP) для SOAP
  • Спецификация службы сообщений (MSS)
  • Нотация объектов JavaScript (JSON)
  • Передача репрезентативного состояния (REST) ​​
  • Деловое сообщение RosettaNet
  • МЫЛО
  • Распределенный обмен данными через Интернет (WDDX)
  • Адресация веб-служб (WS-адресация)
  • События веб-служб (WS-Eventing)
  • Уведомление веб-служб (WSN)
  • Надежность веб-служб (WS-надежность)
  • Надежный обмен сообщениями веб-служб (WS-ReliableMessaging)

Автор

Дуглас К. Барри

Директор

Барри энд Ассошиэйтс, Инк.

Вы можете использовать этот материал для своей работы или занятий. Политика перепечатки. Не забудьте проверить меню слева для других статей, доступных на этом сайте.

Руководство для опытного менеджера

Дуглас К. Барри также является автором книги, в которой веб-службы, сервис-ориентированная архитектура и облачные вычисления объясняются простым для понимания и нетехническим языком.

Веб-службы, сервис-ориентированные архитектуры и облачные вычисления: руководство для опытного менеджера (второе издание)

Дуглас К. Барри с Дэвидом Диком

Это руководство для сообразительного менеджера, который хочет извлечь выгоду из волны изменений, происходящих с веб-сервисами, сервисно-ориентированной архитектурой и — в последнее время — облачными вычислениями.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *