Веб-служба выписки: различия между версиями
(→Информация) |
(→Ответ) |
||
Строка 147: | Строка 147: | ||
<!--SegNum — номер сегмента в перелёте--> | <!--SegNum — номер сегмента в перелёте--> | ||
<!--SegGroupNum – номер плеча перелёта--> | <!--SegGroupNum – номер плеча перелёта--> | ||
+ | <SupplierCode>?</SupplierCode> | ||
+ | <!--SupplierCode – номер заказа в системе АК--> | ||
<DepAirp CodeType="IATA">?</DepAirp> | <DepAirp CodeType="IATA">?</DepAirp> | ||
<!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва | <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва |
Версия 18:49, 15 июня 2016
Содержание
Информация
Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета.
Как правило для выписки билета достаточно чтобы у заказа был статус «Оплачено». При включенной опции Для успешных бронирований производить оформление: автоматически после изменения статуса на «Оплачено» из раздела «Для техподдержки» → «Устаревшие настройки» → «Настройки бронирования» билет будет автоматически выписан после оплаты. Однако, это является обязательным условием только для пользователей, имеется возможность получения выписки билета, не требующей оплаты, для этого необходимо чтобы у АПИ пользователя были соответствующие права. К примеру, АПИ учётка должна быть заведена на менеджера агентства.
Дополнительно была реализована настройка Допустимые IP адреса в разделе «Администрирование» → «Веб-сервисы», определяющая диапазон IP-адресов для дополнительной защиты учётных записей, под которыми происходит выписка билета. IP-адреса имеют следующий допустимый формат: 125.125.25.5/8, то есть возможно задавать с маской подсети.
В Nemo 2.0 в агентский сервис (интерфейс к серверу бронирования) добавлены дополнительные настройки для выписки авиабилетов. В новой версии АПИ позволяет:
- сообщать ВП (валидирующего перевозчика) по данной комбинации
- сообщать комиссию по данной комбинации;
- сообщать эндорсменты по данной комбинации;
- принимать запрос на тикетинг;
- проверять наличие брони в ГРС;
- синхронизировать бронь;
- выписывать билет;
- передавать дополнительную информацию в ремарках;
- войдировать билет.
Общий формат запроса / ответа выписки
Данный запрос запускается после оплаты заказа, может быть запущен как в ручном режиме — пользователем, у которого есть на это права, так и автоматически. Выписать неоплаченный заказ через Nemo.Travel возможности нет. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы, с истекшим таймлимитом выписать нельзя.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:Ticketing>
5 <RequestBin>
6 <Request>
7 <Ticketing>
8 <BookID>?</BookID>
9 <!--BookID — Id заказа в системе nemo.travel-->
10 <ValCompany>?</ValCompany>
11 <!--ValCompany — валидирующий перевозчик (тот кто выписывает билет)-->
12 <Comission Amount="?" Percent="?" CurrencyCode="?"/>
13 <!--Comission Amount — комиссии, указываются или в валюте, или в процентах, для валюты обязательным является
14 код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте-->
15 <!--Amount — комиссия в валюте-->
16 <!--Percent — комиссия в процентах-->
17 <!--CurrencyCode — код валюты комиссии-->
18 <PassengerFops>
19 <!--Zero or more repetitions:-->
20 <PassengerFop>
21 <PassengerId>?</PassengerId>
22 <!--PassengerId — порядковый номер пассажира в перелете-->
23 <Fops>
24 <!--Zero or more repetitions:-->
25 <Fop>
26 <Type>?</Type>
27 <!--Type — форма оплаты: CC (по кредитной карте) или СА (наличными)-->
28 <Money Currency="?">?</Money>
29 <!--Money — сумма платежа-->
30 <!--Currency — код валюты-->
31 <VendorCode>?</VendorCode>
32 <!--VendorCode — код типа карты: (например, VI — Visa,
33 MC — MasterCard,
34 AX — American Express
35 DC — DCL,
36 CA — EURO,
37 IK — EURO,
38 JB — JCB,
39 JC — JCB,
40 BA — Visa)-->
41 <Number>?</Number>
42 <!--Number — номер карты-->
43 <ExpireDate>?</ExpireDate>
44 <!--ExpireDate — срок действия карты, например 12.2020-->
45 <ManualApprovalCode>?</ManualApprovalCode>
46 <!--ManualApprovalCode - Код преавторизации транзакции, по которой были заблокированы средства для выписки. Это НЕ CVV код. Необязательный. Если не указан, то он будет автоматически получен нашей системой через ГРС/-->
47 </Fop>
48 </Fops>
49 </PassengerFop>
50 </PassengerFops>
51 <DataItems>
52 <!--Zero or more repetitions:-->
53 <DataItem>
54 <Type>Remark</Type>
55 <!--Type — тип контента в данном блоке, например: Meal, Remark-->
56 <Remark>
57 <Type>?</Type>
58 <!--Type — тип ремарки, например: General, Historical-->
59 <Text>?</Text>
60 <!--Text — содержание ремарки-->
61 </Remark>
62 </DataItem>
63 </DataItems>
64 </Ticketing>
65 </Request>
66 <Source>
67 <ClientId>?</ClientId>
68 <!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
69 «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
70 <APIKey>?</APIKey>
71 <!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
72 «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
73 <Language>?</Language>
74 <!--Language — язык, например: RU-->
75 <Currency>?</Currency>
76 <!-- Currency — валюта, например: RUB, EUR-->
77 </Source>
78 </RequestBin>
79 </ver:Ticketing>
80 </soapenv:Body>
81 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:TicketingResponse>
4 <ResponseBin>
5 <Response>
6 <Ticketing ID="?" Status="?" Code="?">
7 <!--ID — Id брони в системе nemo.travel, целое число, обязательный-->
8 <!--Status — индикатор состояния брони, возможные значения:
9 booked — забронировано,
10 canceled — бронь отменена,
11 ticket — выписана
12 UNDEFINED — статус не определён-->
13 <!--Code — код брони в системе поставщика-->
14 <QueryPlace xsi:nil="true"/>
15 <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
16 <Flight FlightId="?">
17 <!--FlightId — Id перелёта в системе nemo.travel-->
18 <WebService>?</WebService>
19 <!--WebService — поставщик перелёта-->
20 <ValCompany>?</ValCompany>
21 <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
22 <URL>?</URL>
23 <!--URL — ссылка на бронирование конкретного перелета-->
24 <Segments>
25 <Segment SegNum="?" SegGroupNum="?">
26 <!--SegNum — номер сегмента в перелёте-->
27 <!--SegGroupNum – номер плеча перелёта-->
28 <SupplierCode>?</SupplierCode>
29 <!--SupplierCode – номер заказа в системе АК-->
30 <DepAirp CodeType="IATA">?</DepAirp>
31 <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
32 или SVO — Шереметьево-->
33 <DepTerminal>?</DepTerminal>
34 <!--DepTerminal — терминал пункта отправления, если пустое значение,
35 то в аэропорту всего 1 терминал-->
36 <ArrAirp CodeType="IATA">?</ArrAirp>
37 <!--ArrAirp — аэропорт прибытия-->
38 <ArrTerminal>?</ArrTerminal>
39 <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
40 то в аэропорту всего 1 терминал-->
41 <OpAirline>?</OpAirline>
42 <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
43 <MarkAirline>?</MarkAirline>
44 <!--MarkAirline — авиакомпания, продающая перелёт-->
45 <MarkAirlineName>?</MarkAirlineName>
46 <!--MarkAirlineName - полное наименование АК на кириллице-->
47 <FlightNumber>?</FlightNumber>
48 <!--FlightNumber — номер рейса-->
49 <AircraftName>?</AircraftName>
50 <!--AircraftName — наименование воздушного судна-->
51 <AircraftType>?</AircraftType>
52 <!--AircraftType — тип воздушного судна, код-->
53 <DepDateTime>?</DepDateTime>
54 <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
55 <ArrDateTime>?</ArrDateTime>
56 <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
57 <StopNum>?</StopNum>
58 <!--StopNum — количество остановок-->
59 <BookingCodes>
60 <BookingCode ClassType="?">
61 <!--ClassType — класс перелета, например: economy-->
62 <BookingCode>?</BookingCode>
63 <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
64 может записываться разными литерами, например: L-->
65 </BookingCode>
66 </BookingCodes>
67 <FlightTime>?</FlightTime>
68 <!--FlightTime — время перелёта в минутах-->
69 <TimeZone Departure="?" Arrival="?"/>
70 <!--Departure временная зона аэропорта отправления-->
71 <!--Arrival — временная зона аэропорта прибытия-->
72 <ETicket>?</ETicket>
73 <!--ETicket — признак электронного билета, значения: true / false-->
74 </Segment>
75 </Segments>
76 <PricingInfo Refundable="?">
77 <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
78 <PassengerFare Type="?" Quantity="?">
79 <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
80 INF — младенцы, INS — младенцы с местом-->
81 <!--Quantity — количество пассажиров данного типа-->
82 <BaseFare Currency="?" Amount="?"/>
83 <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
84 <EquiveFare Currency="?" Amount="?"/>
85 <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
86 Currency — код валюты, Amount — значение цены-->
87 <TotalFare Currency="?" Amount="?"/>
88 <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
89 Currency — код валюты, Amount — значение цены-->
90 <Taxes>
91 <Tax CurCode="?" TaxCode="?" Amount="?"/>
92 <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
93 </Taxes>
94 <Tariffs>
95 <Tariff Code="?" SegNum="?"/>
96 <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
97 </Tariffs>
98 <FareCalc>?</FareCalc>
99 <!--FareCalc — строка расчёта цены-->
100 <LastTicketDateTime>?</LastTicketDateTime>
101 <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
102 </PassengerFare>
103 </PricingInfo>
104 <Commission Currency="?">?</Commission>
105 <Charges Currency="?">?</Charges>
106 <!--Charges — сборы, Currency — код валюты-->
107 <TotalPrice Currency="?">?</TotalPrice>
108 <!--TotalPrice — итоговая цена, Currency — код валюты-->
109 </Flight>
110 <Agency Name="?">
111 <!--Name — название агентства-->
112 <Telephone Type="?">
113 <!--Type — тип номера, обязательный, возможные значения:
114 M — мобильный, H — домашний, B — рабочий, A — агенство-->
115 <!--Optional:-->
116 <PhoneNumber>?</PhoneNumber>
117 <!--PhoneNumber — номер телефона-->
118 <!--Optional:-->
119 <CountryAccessCode>?</CountryAccessCode>
120 <!--CountryAccessCode — код страны-->
121 <!--Optional:-->
122 <AreaCityCode>?</AreaCityCode>
123 <!--AreaCityCode — код региона/города-->
124 </Telephone>
125 <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
126 <!--City — город-->
127 <!--State — штат-->
128 <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
129 <!--PostalCode — почтовый индекс-->
130 <!--CountryCode — код страны (RU, UA и т.п.)-->
131 </Agency>
132 <ItinReceipts Encoding="?" Format="?">
133 <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
134 <FareStored xsi:nil="true"/>
135 <PaymentTransactions>
136 <Transaction>
137 <Id>?</Id>
138 <!--Id — номер транзакции в Немо-->
139 <Status>?</Status>
140 <!--Status — статус транзакции-->
141 <GatewayName>?</GatewayName>
142 <!--GatewayName — название платежного шлюза-->
143 <MoneyPaid Currency="?">?</MoneyPaid>
144 <!--MoneyPaid — сумма оплаты-->
145 <!--Currency — валюта-->
146 <PaymentDateTime>?</PaymentDateTime>
147 <!--PaymentDateTime — дата и время оплаты-->
148 <CreateDateTime>?</CreateDateTime>
149 <!--CreateDateTime — дата и время создания платежной транзакции-->
150 <Description/>
151 </Transaction>
152 </PaymentTransactions>
153 <PaymentStatus>?</PaymentStatus>
154 <!--PaymentStatus — статус оплаты:
155 not_paid — не оплачено
156 partly_paid — оплачено, частично
157 fully_paid — оплачено, полностью-->
158 <Travellers>
159 <!--Zero or more repetitions:-->
160 <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
161 <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
162 CNN — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
163 <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
164 контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
165 может быть контактным лицом, по умолчанию false-->
166 <!--Num — порядковый номер пассажира, начинается с 1-->
167 <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому является опциональной)-->
168 <!--TravellerId — устаревший параметр, не используется-->
169 <Meal>?</Meal>
170 <!--Meal — код типа питания, возможные значения:
171 NONE — отсутствует
172 AVML — Азиатская вегетарианская кухня
173 BLML — Блюда щадящей диеты
174 CHML — Детское питание
175 CHPC — Детский холодный завтрак
176 СНСС — Детский горячий завтрак
177 CHHC — Детский ланч, ветчина и сыр
178 PBJS — Детский ланч, ореховое масло
179 CHMC — Детский обед макароны с сыром
180 DBML — Диабетическое питание
181 FPML — Фрукты
182 GFML — Питание без клейковины
183 HFML — Питание богатое клетчаткой
184 HNML — Индусская кухня
185 BBML — Питание для младенцев
186 KSML — Кошерная кухня
187 SMKB — Кошерный завтрак
188 SMKL — Кошерный ланч
189 SMKD — Кошерный обед
190 LPML — Малобелковое питание
191 LCML — Низкокалорийное питание
192 LFML — Низкохолестериновое питание
193 PRML — Низкопуриновое питание
194 LSML — Малосоленое питание
195 MOML — Мюсли
196 NLML — Безмолочные продукты
197 ORML — Восточная кухня
198 RVML — Сырые овощи
199 SFML — Морепродукты
200 SPML — Особое питание
201 VLML — Вегетарианское, молоко и яйца
202 VGML — Строго вегетарианское питание
203 VJML — Джайнизское вегетарианское
204 VOML — Восточное вегетарианское питание-->
205 <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
206 <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
207 <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
208 <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
209 <FirstName>?</FirstName>
210 <!--FirstName — имя пассажира-->
211 <LastName>?</LastName>
212 <!--LastName — фамилия пассажира-->
213 <!--Optional:-->
214 <MiddleName>?</MiddleName>
215 <!--MiddleName — отчество пассажира-->
216 </PersonalInfo>
217 <LoyaltyCard OpCode="?" Number="?"/>
218 <!--OpCode — код авиакомпании-->
219 <!--Number — номер карточки-->
220 <ContactInfo>
221 <!--Optional:-->
222 <EmailID>?</EmailID>
223 <!--EmailID — контактный email-->
224 <!--Optional:-->
225 <Telephone Type="?">
226 <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
227 <!--Optional:-->
228 <PhoneNumber>?</PhoneNumber>
229 <!--PhoneNumber — номер телефона-->
230 <!--Optional:-->
231 <CountryAccessCode>?</CountryAccessCode>
232 <!--CountryAccessCode — код страны-->
233 <!--Optional:-->
234 <AreaCityCode>?</AreaCityCode>
235 <!--AreaCityCode — код региона/города-->
236 </Telephone>
237 </ContactInfo>
238 <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
239 <!--DocType — тип документа, возможные значения:
240 Р — Паспорт
241 A – Паспорт иностранца
242 С — Внутренний гражданский паспорт
243 F – Документ заменяющий паспорт
244 М — Воинское удостоверение
245 N – Сертификат натурализации(специфичный документ США)
246 T – Док.повторного въезда, паспорт беженца
247 V – Документ для пересечения границы-->
248 <!--DocNum — номер документа-->
249 <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
250 <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
251 <Ticket TicketNum="?">
252 <!-- TicketNum — номер выписанного билета-->
253 <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
254 <!--Num — номер визы-->
255 <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
256 <!--IssueCountry — страна выдачи визы-->
257 <!--IssuePlace — место выдачи визы-->
258 <!--BirthCountry — страна рождения(IATA код страны)-->
259 <!--BirthCity — город рождения(название)-->
260 <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
261 <!--City — город-->
262 <!--State — штат или область въезда-->
263 <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
264 <!--PostalCode — почтовый код-->
265 <!--CountryCode — код страны-->
266 <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
267 <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
268 <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
269 <!--Location — положение места в ряде, возможные значения:
270 W — у окна (Window)
271 M — где-то в середине ряда (Middle)
272 NPW — возле прохода (NearPassengerWay)
273 NS — нет предпочтения (NotSpecified)-->
274 <!--RowNumber — номер ряда-->
275 <!--PlaceNumber — номер места-->
276 <!--SegNumber — номер сегмента-->
277 <DocStringFormats>
278 <!--Zero or more repetitions:-->
279 <DocStringFormat>?</DocStringFormat>
280 <!--DocStringFormat — формат паспортной строки, возможные значения:
281 DOCS — строка формата DOCS, FOID — строка формата FOID-->
282 </DocStringFormats>
283 </Traveller>
284 </Travellers>
285 </Ticketing>
286 <Requisites/>
287 <RequestType xsi:nil="true"/>
288 <UserID xsi:nil="true"/>
289 <Error Code="?">Сообщение об ошибке</Error>
290 </Response>
291 </ResponseBin>
292 </ns1:TicketingResponse>
293 </SOAP-ENV:Body>
294 </SOAP-ENV:Envelope>
Общий формат запроса / ответа войдирования
Данный запрос запускается после выписки билета, если необходимо его отменить.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=VoidTicket
Запрос
1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket">
2 <soapenv:Header/>
3 <soapenv:Body>
4 <ver:VoidTicket>
5 <RequestBin>
6 <Request>
7 <VoidTicket>
8 <BookID>?</BookID>
9 <!--BookID — Id брони в системе nemo.travel, целое число-->
10 </VoidTicket>
11 </Request>
12 <Source>
13 <ClientId>?</ClientId>
14 <!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
15 «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
16 <APIKey>?</APIKey>
17 <!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
18 «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
19 <Language>?</Language>
20 <!--Language — язык, например: RU-->
21 <Currency>?</Currency>
22 <!-- Currency — валюта, например: RUB, EUR-->
23 </Source>
24 </RequestBin>
25 </ver:VoidTicket>
26 </soapenv:Body>
27 </soapenv:Envelope>
Ответ
1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2 <SOAP-ENV:Body>
3 <ns1:VoidTicketResponse>
4 <ResponseBin>
5 <Response>
6 <VoidTicket BookID="?">
7 <!--BookID — Id брони в системе nemo.travel, целое число-->
8 <Result Success="?"/>
9 <!--Sucscess — результат отмены выписки, true или false-->
10 </VoidTicket>
11 <Requisites/>
12 <RequestType xsi:nil="true"/>
13 <UserID xsi:nil="true"/>
14 <Error Code="?">Сообщение об ошибке</Error>
15 </Response>
16 </ResponseBin>
17 </ns1:VoidTicketResponse>
18 </SOAP-ENV:Body>
19 </SOAP-ENV:Envelope>