|
Как передать параметр типа "ассоциированный массив" в удаленный SOAP-метод
| ☑ |
0
shachneff
08.04.13
✎
14:45
|
Как передать параметр типа "ассоциированный массив" в удаленный SOAP-метод, принимающий тип anyType?
Форму и гугол прошерстил. Варианты попробовал. Эффекта нет.
Пример на php работает
Две темы на этом форуме тоже видел, никто ТС не смог помочь, он забил на задачу в 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");
|
|
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс