2016-09-30 100 views
1

我必須爲項目使用SOAP API。 對於一種特定的方法,我必須發送一個複雜類型。SOAP - 使用zeep創建元素(python)

此複雜類型聲明這樣的:

<complexType name="specialList"> 
    <sequence> 
     <element name=data" minOccurs="0"maxOccurs="unbounded"> 
      <complexType> 
       <simpleContent> 
        <extension base="string"> 
         <attribute name="key" type="string" use="required"/> 
        </extension> 
       </simpleContent> 
      </complexType> 
     </element> 
    </sequence> 
</complexType> 

這是一個例子:

<my_action type="specialList"> 
    <data key="myKey">MyValue</data> 
    <data key="myOtherKey">MyOtherValue</data> 
</my_action> 

要訪問的SOAP API,我使用zeep(我試圖與泡沫)。 我首先想到的是檢索我的「specialList」。

special_list = client.get_type('ns1:specialList') 
my_action = special_list(data=[data_1, data_2]) 

但是我的類型「數據」有問題。事實上,這種類型的「數據」沒有被宣佈。我不能做一個client.get_type(「ns1:data」)。

我嘗試了幾次創建一個簡單的元素,但沒有成功。 你有一個想法如何創建這個「特殊」的數據?

提前,謝謝。

西爾

回答