|
Возвращать нормальный XML при ответе веб-сервиса |
☑ |
0
Shalfee
04.05.13
✎
13:04
|
Привет! Хотелось бы на запрос веб-сервиса 1С-ного, получать в отчет XML структуру. Настроил, так чтобы веб-сервис возвращал тип string, при этом ответ веб-сервиса выглядит так:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body>
<m:SalesReportResponse xmlns:m="http://gazintech.ru/">
<m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Reply>
<IsError>false</IsError>
<Comment/>
<Result>
...
Подскажите пожалуйста, как убрать < и прочие. Или может вообще я не так делаю :) Спасибо!
|
|
1
1Сергей
04.05.13
✎
13:08
|
смотри символы разметки
|
|
2
Fragster
гуру
04.05.13
✎
13:08
|
(0) все правильно
|
|
3
Fragster
гуру
04.05.13
✎
13:09
|
на стороне клиента твоя строка сама превратится в нормальный XML, если там не ручной разбор XML, а Soap клиент
|
|
4
Fragster
гуру
04.05.13
✎
13:10
|
еще можно возвращать не строку а объектXDTO
|
|
5
Shalfee
04.05.13
✎
13:10
|
(1) не совсем понял что имеешь ввиду. < это замена <, 1С-ка как-будто преобразовывается XML текст и экранирует спец символы XML =(
|
|
6
Shalfee
04.05.13
✎
13:15
|
(4) Ага, но не хотелось бы так. Если не ошибаюсь, тогда надо было бы описывать XDTO пакет, что как плюс дало бы то, что web-сервис описывал бы параметр на выходе и была бы проще интеграция с моим веб-сервисом. Но время на это к сожалению пока нет =(
|
|
7
Fragster
гуру
04.05.13
✎
13:17
|
(6) не обязательно. можно сделать возвращаемое значение anytype и лепить объект с произвольными свойствами
|
|
8
mistеr
04.05.13
✎
15:05
|
(6) А придется.
|
|
9
sikuda
04.05.13
✎
17:23
|
(0) Странно еще есть люди которые не прочитали мою статью:
|
|
10
Shalfee
05.05.13
✎
00:26
|
(7) То есть все равно XDTO объект придется формировать для выхода?
(8) Да, интересно было бы реализовать, но случай не тот. Случайные клиенты подключаться к сервису не будут, формат жестко задан. Вообще лучше всего для передачи данных отойти
от XML в качестве возвращаемого значение, и использовать какой-нибудь JSON или base64 (кстати отлично работает со сжатием).
(9) Спасибо, толковая статья, так примерно и предполагал реализовать. Также на php+sql можно реализовать промежуточный буфер (для снижения нагрузки на 1С).
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший