Имя: Пароль:
1C
1С v8
Как передать параметр типа "ассоциированный массив" в удаленный SOAP-метод
0 shachneff
 
08.04.13
14:45
Как передать параметр типа "ассоциированный массив" в удаленный SOAP-метод, принимающий тип anyType?

Форму и гугол прошерстил. Варианты попробовал. Эффекта нет.

Пример на php работает http://www.magentocommerce.com/wiki/doc/webservices-api/api/customer_address#customer_address.list

Две темы на этом форуме тоже видел, никто ТС не смог помочь, он забил на задачу в 2012 году.
1 Fragster
 
гуру
08.04.13
14:51
свойство = Фабрика.Создать(тут нужный тип);
свойство.Добавить(ФормаXML.Элемент,ПространствоИмен,Имя,Фабрика.Создать(Тип, Значение));
2 shachneff
 
08.04.13
14:52
Либо аналог: как настроить стандартную ФабрикуXDTO чтобы получать xml вида

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
   <SOAP-ENV:Body>
       <ns1:call>
           <sessionId xsi:type="xsd:string">{_session_}</sessionId>
           <resourcePath xsi:type="xsd:string">catalog_product1c.setProductsStock</resourcePath>
           <args SOAP-ENC:arrayType="ns2:Map[1]" xsi:type="SOAP-ENC:Array">
               <item xsi:type="ns2:Map">
                   <item>
                       <key xsi:type="xsd:string">1</key>
                       <value xsi:type="xsd:int">100</value>
                   </item>
                   <item>
                       <key xsi:type="xsd:string">2</key>
                       <value xsi:type="xsd:int">103</value>
                   </item>
               </item>
           </args>
       </ns1:call>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
3 shachneff
 
08.04.13
14:54
(1) Спасибо, это я знаю (из ППР). Фишка именно в конкретных типах, чтобы получить нужный xml
4 Fragster
 
гуру
08.04.13
14:56
(3) для строки:

ТипСтрока = Фабрика.Тип("http://www.w3.org/2001/XMLSchema", "string");
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс