Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Soap Запросы по wsdl

Soap Запросы по wsdl
Я
   Su60ta_SunRise
 
06.10.20 - 21:42
Драсте
Создали веб сервис, опубликовали для получения запросов
Написали процедурку сделали ответ, все просто

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:inc="http://uri.seeburger.com/bisas/interfaces/IncomingWSCall_REDOUTE">;
   <soapenv:Header/>
   <soapenv:Body>
      <inc:HeaderElement>
         <inc:Application>?</inc:Application>
         <inc:Channel>?</inc:Channel>
         <inc:Environment>?</inc:Environment>
         <inc:TimeStamp>?</inc:TimeStamp>
      </inc:HeaderElement>
   </soapenv:Body>
</soapenv:Envelope>

вид запроса для клиента к нам, где <inc:HeaderElement> это название процедуры у нас, ниже идут параметры

Но просят сделать такой вид

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:inc="http://uri.seeburger.com/bisas/schema/IncomingWSCall_REDOUTE">;

   <soapenv:Header/>

   <soapenv:Body>

      <inc:HeaderElement>

         <inc:Application>?</inc:Application>

         <inc:Channel>?</inc:Channel>

         <inc:Environment>?</inc:Environment>

         <inc:TimeStamp>?</inc:TimeStamp>

      </inc:HeaderElement>

      <inc:MessageElement>

         <inc:MessageType>?</inc:MessageType>

         <inc:Sender>?</inc:Sender>

         <inc:Receiver>?</inc:Receiver>

         <inc:MessageTimeStamp>?</inc:MessageTimeStamp>

         <inc:Content>?</inc:Content>

      </inc:MessageElement>

   </soapenv:Body>

</soapenv:Envelope>

Вопрос: Как это расшифровать? два  вызова двух разных операций в одном запросе? Что вернуть при этом? (сейчас такое обращение к вебу вызывает ошибку формата)
Как такое организовать?

Если создать две операции в веб сервис то через прогу SOAP UI  вижу что и создается два запроса, в каждой обращение к своей процедуре на веб сервисе
   Fragster
 
1 - 06.10.20 - 22:21
такое организовать можно только публикацией http сервиса и ручной работой с xml (там не сильно сложно через сериализатор, но все же). если понимания нет, то проще договориться с "той стороной" о том, чтобы ваш формат использовали
   Su60ta_SunRise
 
2 - 07.10.20 - 08:45
(1) понял принял, спасибо
   Su60ta_SunRise
 
3 - 08.10.20 - 01:36
Оказалось все проще. для создание такой структуры обмена нужно:
При создание веб сервиса мы указываем его операцию, где создаем два параметра HeaderElement и MessageElement
Создаем XDTO где указывает  тип обьекта HeaderElement и MessageElement внутри которых уже создаем  свойства:
для хедара
<inc:Application>?</inc:Application>

<inc:Channel>?</inc:Channel>

<inc:Environment>?</inc:Environment>

<inc:TimeStamp>?</inc:TimeStamp>
Для месаджа:
<inc:MessageType>?</inc:MessageType>

<inc:Sender>?</inc:Sender>

<inc:Receiver>?</inc:Receiver>

<inc:MessageTimeStamp>?</inc:MessageTimeStamp>

<inc:Content>?</inc:Content>

клацаем на свойства параметров нашей процедуры и указываем тип значения нашу созданную XDTO  где параметр хед это тип обьекта хед и мессадж аналогично, готово
   Su60ta_SunRise
 
4 - 08.10.20 - 01:40
если модеры еще тут бывают, тему можно переименовать как "Передача параметров составного типа через веб сервис 1С"
   Fragster
 
5 - 08.10.20 - 10:15
ну там не дословно то получится, что требуется.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.