2

我正在使用 Python 与 Netsuite Web 服务层进行交互。使用 suds 解析 WSDL 大约需要两分钟。我能够使用 redis 编写一个缓存层,一旦客户端被解析,它就解决了一些加载问题,但第一次仍然需要大量时间。

>>> # Takes several minutes to load
>>> client = suds.Client(huge_four_mb_wsdl_file)

由于我只使用一小部分服务,有没有办法只从 WSDL 中提取这些服务并将它们放入我自己的较小的 WSDL 中?

4

1 回答 1

1

如果您查看wsdl 源代码的 v2013_2 版本,您会发现它实际上导入了 38 个其他 xsd 文件。

您可以通过以下方式加快您的流程:

  • 创建一个仅导入一些 xsd 文件的本地 wsdl。(节省下载/解析时间)
  • 使用pickle序列化现成的客户端并在启动时加载它(节省解析时间)

还要确保在应用程序生命周期中只需要创建一次客户端。

于 2014-01-21T15:37:43.117 回答