拆分一个大规模的WSDL文件

时间:2012-07-25 08:34:58

标签: python web-services wsdl suds netsuite

我正在使用Python与Netsuite Web Services层进行交互。使用suds来解析WSDL需要将近两分钟。我能够使用redis编写一个缓存层,一旦客户端被解析就可以解决一些加载问题,但是第一次使用它仍然需要很多时间。

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

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

1 个答案:

答案 0 :(得分:1)

如果您查看v2013_2 version of the wsdl来源,您会看到它实际上导入了38个其他xsd文件。

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

  • 创建仅导入部分xsd文件的本地wsdl。 (保存下载/解析时间)
  • 使用pickle序列化就绪客户端并在启动时加载(保存解析时间)

另外,请确保您只需在应用程序生命周期内创建一次客户端。