マルチパート添付ファイルを処理できるPython SOAPライブラリが必要です。これはSOAPpyやsudsではサポートされていませんが、ZSIとZEEPでサポートされていると私は理解しています。しかし、SOAPpyは、私が使用する必要があるWSDLファイルでうまく動作しますが、ZSIとZeepではエラーが発生します。 WSDLファイルはhttp://nva1wss.webex.com/nbr/services/NBRStorageService?wsdlです。 SoapUIでファイルを開き、 "Check WSI Compliance"オプションを使用して、すべてのチェックに合格しました。ここでPython SOAP WSDLはSOAPpyで動作しますが、ZSIやZeepでは動作しません。
は私のエラーは、次のとおりです。
zeep.exceptions.NamespaceError:タイプ{} NBRStorageServiceデータハンドラを解決することができません。ネームスペースu'NBRStorageServiceに使用可能なスキーマはありません。
ZSI.generate.WsdlGeneratorError:スキーマ "NBRStorageService"のインポートに@schemaLocation属性がない可能性があります。
----私は、WSDLでの問題は、それがZEEPは、スキーマ文書で解決することができないというデータ型を使用することであると信じていZEEPからの詳細な出力に基づいて情報----
を更新しましたhttp://schemas.xmlsoap.org/soap/encoding/。ここではWSDLのデータ型定義である:
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://nva1wss.webex.com/nbr/services/NBRStorageService">
<import namespace="NBRStorageService"/>
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_tns1_DataHandler">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="tns1:DataHandler[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
このWSDLは、Apache Axisの1.4で生成されているように見えます。
これを回避する方法については、また、サーバー側の変更について誰かが特定の推奨事項を持っていれば、それらを作成することはできませんが、サーバーを扱う開発者にそれらを確実に伝えることができます。
ありがとうございました!