|
как сформировать хмл файл для вэбсервиса? | ☑ | ||
---|---|---|---|---|
0
spenov
27.04.15
✎
17:32
|
добрый день.
столкнулся с проблемой взаимодействия с SAP через вэбсервис. 1С отправляет вполне корректный запрос через механизм WS-ссылок. но не способно обработать правильно ответ. т.е. 1С либо корректно отправляет запрос, либо корректно может обработать файл ответа. одновременно не получается выполнить оба действия. решил обойти эту проблему, отправкой запроса через POST запрос и последующим разбором файла ответа. не получается найти образец кода, который бы сформировал XML файл запроса в том виде, как его формирует объект прокси, полученный из WS-ссылки. |
|||
1
MadHead
27.04.15
✎
22:24
|
Можно перехватить пакеты. В помощь http://charles-proxy.ru
|
|||
2
Записьдампа
27.04.15
✎
23:01
|
(1) Закопайте вы уже этот "shareware, which means that you may try Charles for 30 days". Пользуйтесь православным http://www.telerik.com/fiddler
|
|||
3
MadHead
27.04.15
✎
23:23
|
(1) под линуксом у него интерфейс мягко говор на любителя. Кроме того что пришлось ставить моно
|
|||
4
MadHead
27.04.15
✎
23:23
|
(3) -> (2)
|
|||
5
spenov
28.04.15
✎
10:00
|
тогда уж проще внешнюю компоненту применить, которая нормально работает с вэбсервисами. но хочется без дополнительных элементов обойтись.
|
|||
6
Serginio1
28.04.15
✎
10:38
|
||||
7
Serginio1
28.04.15
✎
10:39
|
Смотри фиддлером что передается, что принимается.
|
|||
8
Serginio1
28.04.15
✎
10:42
|
В любом случае можешь экспортировать по фабрике вэб сервиса объект и сохранить в текст и обработать его о получения нужных показаний
|
|||
9
sapphire
28.04.15
✎
10:42
|
(0) Посмотрите SOAPUI.
Там на основе wsdl получите всё, что Вам нужно. |
|||
10
sapphire
28.04.15
✎
10:43
|
(0) Возвращается небось значение типа AnyType
|
|||
11
Serginio1
28.04.15
✎
10:43
|
Процедура ПоказатьОбъект(ОтветТаблицаЦен)
ЗаписьХМЛ= новый ЗаписьXML; ЗаписьХМЛ.УстановитьСтроку(); ФабрикаXDTO.записатьXML(ЗаписьХМЛ,ОтветТаблицаЦен,,,,НазначениеТипаXML.Явное); //записатьXML(ЗаписьХМЛ,ОтветТаблицаЦен); текст=Новый ТекстовыйДокумент; Текст.УстановитьТекст(ЗаписьХМЛ.Закрыть()); Текст.Показать(); КонецПроцедуры |
|||
12
spenov
28.04.15
✎
11:02
|
(11)
этот метод не добавляет заголовков, которые предусмотрены soap. и префиксов пространства имен нет. что-то вроде <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prod="http://lanit.ru/product_crchex"> <soapenv:Header/> <soapenv:Body> <prod:product_crchex> ... |
|||
13
SUA
28.04.15
✎
11:08
|
(0)присоединяюсь к (9) - SOAPUI
заодно покажет ответ с сервиса |
|||
14
Serginio1
28.04.15
✎
11:25
|
(12) Еще раз смотришь Фиддлером рабочий пример или соапУи что передается и добавляешь изменяешь.
Проще всего использовать 6 |
|||
15
spenov
28.04.15
✎
12:01
|
(13)(14)
что передавать я и так знаю. и от поставщика сервиса, и по SoapUi видно. вопрос каким способом формировать файл, который будет выглядеть также, как его формирует SoapUi причем механизм WS-ссылки формирует файл правильно. значит в 1С есть некий инструмент, с помощью которого можно создать такой файл. к сожалению, WS-ссылка не может обработать файл ответа и вываливается с ошибкой. поэтому хочу обойти это через POST запрос. но не могу файл собрать. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |