Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
31 Мар 2020, 21:24
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: 1С WEB - Сервис обмен SOAP WSDL  (Прочитано 49 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн svv1979

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 1
  • КПД: 5%
  • Регистрация: 2012-02-14
  • Сайт: 
  • Профессия: Программист 1С
Запрос перечня услуг, доступных для партнёра 
Для запроса перечня услуг необходимо вызвать процедуру ServisesWithoutSupplier.

Входные переменные

Имя переменной - partnerID
Тип            - string
Комментарий         - Уникальный идентификатор партнёра

Выходные переменные

Имя переменной  - serviceList
Тип             - массив ServiceInfo (SerID - тип int, SerName - тип string)
Комментарий          - Перечень доступных услуг   
Имя переменной  - error
Тип             - Error
Комментарий          - Ошибка обработки запроса, структура данных   

Пример запроса
 
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>   
      <ServisesWithoutSupplier xmlns="PayService.Service">       
           <partnerID> QWER-ASDF-ZXCV </partnerID>   
      </ServisesWithoutSupplier>
  </soap:Body>
</soap:Envelope>

Пример ответа

<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>     
    <ServisesWithoutSupplierResponse xmlns="PayService.Service">     
       <serviceList>       
         <ServiceInfo>         
              <SerID>500065</SerID>           
              <SerName>ЖКУ</SerName>         
          </ServiceInfo>       
          <ServiceInfo>
              <SerID> 500284 </SerID>           
              <SerName>ВЗНОС НА КАП.РЕМОНТ</SerName>         
         </ServiceInfo>     
       </serviceList>           
     </ServisesWithoutSupplierResponse> 
   </soap:Body>
</soap:Envelope>

/////////////////////////////////////////////////////////////////

WSОпределение = Новый WSОпределения(НашВебСервис);
   
WSСервис=WSОпределение.Сервисы[0];
   
Прокси = Новый WSПрокси(WSОпределение, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя)
   
ТипWSПараметра     = Прокси.ФабрикаXDTO.Пакеты.Получить((WSСервис.URIПространстваИмен)).Получить("ServisesWithoutSupplier");

//Создаем параметр на основе типа и заполняем значение параметра partnerID.
WSПараметр      = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
WSПараметр.partnerID   = НашКодПартнера;
serviceList  = "";
Error        = "";
   
//Вызываем метод веб-сервиса, получения перечня услуг .
Прокси.ServisesWithoutSupplier(WSПараметр,serviceList,Error);

Выходит ошибка - При вызове веб-сервиса произошла ошибка. Неизвестная ошибка. Ошибка разбора XML:  - [1,1]
Фатальная ошибка:
Extra content at the end of the document

Подскажите как правильно написать



Оффлайн svv1979

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 1
  • КПД: 5%
  • Регистрация: 2012-02-14
  • Сайт: 
  • Профессия: Программист 1С
Загрузил WS ссылку в 1С

Модель данных
Пакет
Типы объектов
ServisesWithoutSupplier (запрос)
- partnerID
ServisesWithoutSupplierResponse (Ответ)
- serviceList
- Error
Web - сервис
Имя
ИмяSOAP
ServisesWithoutSupplier (запрос)
- partnerID (Направление - Входной)
- serviceList (Направление - Выходной)
- Error (Направление - Выходной)
Добавлено: 26 Мар 2020, 10:53

Запрос по SOAPUI
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:pay="PayService.Service">

   <soapenv:Header/>

   <soapenv:Body>

      <pay:ServisesWithoutSupplier>

         <!--Optional:-->

         <pay:partnerID>111111111111111</pay:partnerID>

      </pay:ServisesWithoutSupplier>

   </soapenv:Body>

</soapenv:Envelope>

Ответ
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="http://www.w3.org/2001/XMLSchema">;
   <soap:Body>
      <ServisesWithoutSupplierResponse xmlns="PayService.Service">
         <serviceList>
            <ServiceInfo>
               <SerID>111</SerID>
               <SerName>Имя1</SerName>
            </ServiceInfo>
            <ServiceInfo>
               <SerID>222</SerID>
               <SerName>Имя2</SerName>
            </ServiceInfo>
         </serviceList>
      </ServisesWithoutSupplierResponse>
   </soap:Body>
</soap:Envelope>

Последний раз редактировалось: svv1979; 26 Мар 2020, 10:53. Причина: Объединение сообщений


Теги: обмен SOAP wsdl 
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
85 Сообщений
LexaK
60 Сообщений
alexandr_ll
32 Сообщений
antoneus antoneus
32 Сообщений
Алексей Рожков Алексей Рожков
31 Сообщений
ef0din
25 Сообщений
wise wise
20 Сообщений
Алексей_1985_06
19 Сообщений
Varg . Varg .
19 Сообщений
Alexbis
15 Сообщений

* Кто онлайн

  • Точка Гостей: 298
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal