我正在使用 Python 与 Netsuite Web 服务层进行交互。使用 suds 解析 WSDL 需要将近两分钟的时间。我能够使用 redis 编写一个缓存层,在客户端被解析后解决了一些加载问题,但第一次仍然需要大量时间。
>>> # Takes several minutes to load
>>> client = suds.Client(huge_four_mb_wsdl_file)
由于我只使用服务的一小部分,有没有办法只从 WSDL 中提取这些服务并将它们放入我自己的较小的 WSDL 中?
最佳答案
如果您查看 v2013_2 version of the wsdl source 你会看到它实际上导入了 38 个其他 xsd 文件。
您可以通过以下方式加快流程:
- 创建仅导入部分 xsd 文件的本地 wsdl。 (节省下载/解析时间)
- 使用 pickle 序列化一个现成的客户端并在启动时加载它(节省解析时间)
还要确保您在应用程序生命周期中只需创建一次客户端。
关于python - 拆分一个巨大的 WSDL 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11645723/