Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Веб-сервис, входящий xdto преобразовать в xml

Веб-сервис, входящий xdto преобразовать в xml
Я
   Трипиэль
 
11.10.16 - 17:53
Всем, привет.

У меня есть веб-сервис. У него метод с параметром типа, описанного с помощью xdto-пакета. Вот этот параметр я хочу преобразовать в xml через ФабрикуXDTO.

Конструкция типа:

  Запись = Новый ЗаписьXML;
  Запись.УстановитьСтроку();

  ФабрикаXDTO.ЗаписатьXML(Запись, ВходящийОбъект, ЛокальноеИмя, URIПространстваИмен, , НазначениеТипаXML.Явное);

  ДанныеXML = Запись.Закрыть();

не работает, видимо, потому что у входящего объекта тип значения определен не моей внутренней фабрикой. То есть, как я понимаю, мне надо создать фабрику на основании входящего объекта, что-то типа:

  МояФабрика = Новый ФабрикаXDTO(ВходящийОбъект);

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

Помогите кто чем может)) Спасибо.
 
 
   Fragster
 
1 - 11.10.16 - 18:21
очень непонятно написано. может быть поможет тестовая обработка из http://fragster.ru/wsfor1c/ (получение фабрики из wsdl там есть)
   Oncl
 
2 - 11.10.16 - 18:35
ЗаписьXML = Новый ЗаписьXML;
        
        ЗаписьXML.УстановитьСтроку(); 
        ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, Incoming_data);
        XmlText = ЗаписьXML.Закрыть();
   Oncl
 
3 - 11.10.16 - 18:36
Incoming_data это входящий xml пакет веб сервиса
   Трипиэль
 
4 - 12.10.16 - 09:25
(1) спасибо, но получение фабрики из wdsl тут ни при чём.
   Asmody
 
5 - 12.10.16 - 09:32
(0) Надо брать фабрику от веб-сервиса.
   Stepa86
 
6 - 12.10.16 - 09:34
А если вот так?

ОпределениеWS = Новый WSОпределения( ... ;// или из wsСсылки


фабрика = ОпределениеWS.ФабрикаXDTO;

ответXML = Новый ЧтениеXML;
ответXML.УстановитьСтроку( пТекстОтвета );
    
ответ = фабрика.ПрочитатьXML( ответXML );
   Трипиэль
 
7 - 12.10.16 - 09:55
(6) спасибо.
   Трипиэль
 
8 - 12.10.16 - 09:59
(0) в общем, рабочие оба варианта, и (0) , и (2) . просто я затупил, и вызывал функцию общего модуля из внешней обработки для отладки, и получается, что тип ВходящегоОбъекта был описан не через опубликованный веб-сервис, а через WSОпределение этой самой обработки, и поэтому шла ругань на тип.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Э. Йодан
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует