Как создать массив для WSDL и передать его в качестве аргумента с помощью suds? - PullRequest
0 голосов
/ 23 сентября 2018

Я хотел бы сделать запрос.Это обязательные параметры.Проблема в том, что я не знаю, как создать массив, который я мог бы передать параметру, чтобы сделать запрос с использованием библиотеки suds.

$dogetitemsinfo_request = array(
   'sessionHandle' => '22eb99326c6be29aa16d07d622bcfbcbee94ad54846f2f4e03_1',
   'itemsIdArray' => array(975967833, 886978949),
);

Это мой класс для выполнения запросов:

class OffersViewAndOptions:
      @classmethod
            def doGetItemsInfo(
                    cls,
                    sessionHandle,
                    itemsIdArray,
            ):
                global client
                client = Client('https://webapi.allegro.pl/service.php?wsdl')
                response = client.service.doGetItemsInfo(
                    sessionHandle=sessionHandle,
                    itemsIdArray=itemsIdArray,
                )
                do_get_items_info = {
                    'itId': response.item[0].item[0].itId,
                }
                return do_get_items_info

Вот моя первая попытка передать массив в качестве параметра

array = [6688519219, 6688519219]
getitem = OffersViewAndOptions.doGetItemsInfo(session_handle_part, array)

Вот ответ:

suds.WebFault: Server raised fault: 'Element '{https://webapi.allegro.pl/service.php}itemsIdArray': Character content other than whitespace is not allowed because the content type is 'element-only'.

Во-вторых, я искал на SO возможноерешения, и я нашел это:

array = client.factory.create('array')
array.item = [7554257498, 6688519219]
request.option=array

Вот ответ:

suds.TypeNotFound: Type not found: 'array'

Эта документация может быть полезна: https://allegro.pl/webapi/documentation.php/show/id,1093

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...