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

Автор Тема: MS SOAP 3.0  (Прочитано 4019 раз)

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

Оффлайн lowuser

  • *
  • Сообщений: 2
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-07-12
  • Сайт: 
  • Профессия: Программист 1С
MS SOAP 3.0
« Первое сообщение: 01 Мар 2013, 14:00 »
Имеется WEB серивис (не мой), у него есть метод SendWareHouseBalanseDRP, часть WSDL схемы приведена ниже. Как этому методу средствами 1С 7.7 передать массив значений? Используется MSOSOAP.SoapClient30

Кусок WSDL:
   <s:element name="SendWareHouseBalanseDRP">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="_wareHouseBalanceData" type="tns:ArrayOfWareHouseBalanse"/>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfWareHouseBalanse">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="WareHouseBalanse" nillable="true" type="tns:WareHouseBalanse"/>
        </s:sequence>
      </s:complexType>
      <s:complexType name="WareHouseBalanse">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="SkuID" type="s:int"/>
          <s:element minOccurs="1" maxOccurs="1" name="DistribID" type="s:int"/>
          <s:element minOccurs="1" maxOccurs="1" name="WareHouseID" type="s:int"/>
          <s:element minOccurs="1" maxOccurs="1" name="Nums" type="s:double"/>
        </s:sequence>
      </s:complexType>

Кусок кода:
КлиентSOAP = СоздатьОбъект("MSOSOAP.SoapClient30");
КлиентSOAP.MSSOAPInit(ПутьКWSDLСхеме, "","","" );
КлиентSOAP.ConnectorProperty("Timeout", 600000);
Запрос = «<ArrayOfWareHouseBalanse><WareHouseBalanse>
    <SkuID>1</SkuID>
    <DistribID>1</DistribID>
    <WareHouseID>1</WareHouseID>
    <Nums>1</Nums>
</WareHouseBalanse>
«</ArrayOfWareHouseBalanse>»
ОтветСервераSOAP = КлиентSOAP.SendWareHouseBalanseDRP(Запрос);


Код выдает ошибку: Client: Client:Type conversion failure for element _wareHouseBalanceData  HRESULT=0x80020005: Type mismatch. - Client:Unspecified client error. HRESULT=0x80020005: Type mismatch.


Оффлайн Кошки рулят

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-01-07
  • Сайт: 
Re: MS SOAP 3.0
« Ответ #1: 19 Апр 2014, 01:08 »
А что не понятного?
Тебе надо передать массив, а 7.7 в своих переменных массивы типа SAFEARRAY хранить не умеет.
А ту строку, которую ты передал клиенту вместо массива он сконвертировать в массив не смог, о чем тебе и сообщает ...


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
AIFrame
64 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal