Skip to main content
 首页 » 编程设计

python之拆分一个巨大的 WSDL 文件

2025年05月04日57cmt

我正在使用 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 序列化一个现成的客户端并在启动时加载它(节省解析时间)

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