Como usar um tipo complexo de um WSDL com zeep em Python

Eu tenho um WSDL que contém um tipo complexo como este:

<xsd:complexType name="string_array">
  <xsd:complexContent>
    <xsd:restriction base="SOAP-ENC:Array">
      <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/>
    </xsd:restriction>
  </xsd:complexContent>
</xsd:complexType>

Eu decidi usarzeep para o cliente soap e deseja usar esse tipo como parâmetro para um dos outros métodos mencionados no WSDL. Parece que não consigo descobrir como usar esse tipo. Quando eu olhei através dodocumentação sobre como usar determinadas estruturas de dados referenciadas no WSDL, ele diz para usar oclient.get_type() método, então eu fiz o seguinte:

wsdl = "https://wsdl.location.com/?wsdl"
client = Client(wsdl=wsdl)
string_array = client.get_type('tns:string_array')
string_array('some value')
client.service.method(string_array)

Isso deu um erroTypeError: argument of type 'string_array' is not iterable. Eu também tentei muitas variações disso, além de tentar usar um dicionário como este:

client.service.method(param_name=['some value']) 

O que dá o erro

ValueError: Error while create XML for complexType '{https://wsdl.location.com/?wsdl}string_array': Expected instance of type <class 'zeep.objects.string_array'>, received <class 'str'> instead.`

Se alguém souber como usar o tipo acima do WSDL com zeep, ficaria muito grato. Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion