soaplib に問題があります。私は、Webサービスによって提供される次の機能を持っています:
@soap(Integer, Integer, _returns=Integer)
def test(self, n1, n2):
return n1 + n2
生成された WSDL ファイル内の対応するデータ型の宣言は次のとおりです。
<xs:complexType name="test">
<xs:sequence>
<xs:element name="n1" type="xs:integer" minOccurs="0" nillable="true"/>
<xs:element name="n2" type="xs:integer" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
<xs:complexType> name="testResponse">
<xs:sequence>
<xs:element name="testResult" type="xs:integer" minOccurs="0" nillable="true"/>
</xs:sequence>
</xs:complexType>
IDE (Visual Studio、PowerBuilder) を使用してその WSDL ファイルからコードを生成すると、IDE に関係なく、属性がStringsである test と testResponse の 2 つのクラスが生成されます。
クライアント側でcomplexType を回避して実際のInteger データ型を取得できるように、Python 宣言を微調整できるかどうかは誰にもわかりませんか?