helpf.pro
Регистрация

v8.3: Передача данных 1С и php nuSOAP

Taekun
06.08.2014 21:35Прочитано: 3367

Доброе время суток. Вот такая проблема. Есть веб сервис написанный на php с использованием библиотеки nuSOAP. Нужно соединить с 1С 8.2-8.3 В принципе проблем с соединением особых нету. Простая конструкция:

Код 1C v 8.3
 ВСДЛ=Новый WSОпределения("http://192.168.2.15/phpws/wservice.php?wsdl");
ВСПРОКСИ=Новый WSПрокси(ВСДЛ,"http://192.168.2.15/phpws/","OCWebService","OCWebS...;
ОтветВС = ВСПРОКСИ.GetDBCountry(КодСтраны);
//Обработка XDTO ОтветВС

Передавать параметры в виде строки или числа можно, так же могу передать параметром массив строк.

Не могу разобраться как передать Массив структуры вида:

Код Batch File (DOS, CMD, BAT)
 array(  'country_id' => array('name' => 'country_id', 'type' => 'xsd:decimal'),  'name' => array('name' => 'name', 'type' => 'xsd:string'),  'address_format' => array('name' => 'address_format', 'type' => 'xsd:string'),  'postcode_required' => array('name' => 'postcode_required', 'type' => 'xsd:decimal'),  'status' => array('name' => 'status', 'type' => 'xsd:decimal'))   

В http://192.168.2.15/phpws/wservice.php?wsdl тип данных описан и он передается в функцию AddDBCountry($Countrys), но как сформировать XDTO тип из 1С что бы отправить его на ВебСервис не получается.

Может кто разобрался? Заранее благодарен.

Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
06.08.2014 23:52Ответ № 1

так это же массив в массиве - если такой сформировать средствами 1с передать - пробовал?

Taekun
07.08.2014 10:13Ответ № 2

Пробовал, но ругаеться на не соответсвие типов.

Taekun
07.08.2014 13:04Ответ № 3

По факту передается на web сервис XDTO объект. 

Структура данных которое нужно передать на web-сервис

array(  'country_id' => array('name' => 'country_id', 'type' => 'xsd:decimal'),  'name' => array('name' => 'name', 'type' => 'xsd:string'),  'address_format' => array('name' => 'address_format', 'type' => 'xsd:string'),  'postcode_required' => array('name' => 'postcode_required', 'type' => 'xsd:decimal'),  'status' => array('name' => 'status', 'type' => 'xsd:decimal')) [/pre]

URI = http://192.168.2.15/phpws/


//Соединение с WEB-сервисом на php nuSOAPВСДЛ=Новый WSОпределения("
Taekun
07.08.2014 13:07Ответ № 4

Что происходит с форумом? чего он режет то код как в начале то пост как в 3ответе???

Taekun
07.08.2014 16:31Ответ № 5
Вопрос закрыт!
E_Migachev
07.08.2014 22:22Ответ № 6

(4) срабатывает защита, т.к. код похож на web

Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.