【问题标题】:Build Django WebService from existing WSDL从现有的 WSDL 构建 Django WebService
【发布时间】:2016-08-02 19:36:27
【问题描述】:

我需要将现有的 WebService 重写为 Django 应用程序的一部分,目标是将 Django 应用程序集成到可以调用此特定 WebService 的遗留系统。

所以我确实有一个非常复杂的 WSDL 文件,其中包含多种方法和庞大的数据结构。有什么方法可以使用该 WSDL 文件为 Django 中的应用程序生成存根,还是我必须自己创建所有必要的数据结构和方法签名?

【问题讨论】:

    标签: python django web-services wsdl


    【解决方案1】:

    查看Zeep

    Zeep 检查 WSDL 文档并生成相应的代码以使用文档中的服务和类型。

    views.py

    from django.http import HttpResponse
    from django.views import View
    from zeep import Client
    
    class MyConvertKilometer2MilesView(View):
        def get(self, request):
            # <view logic>
            client = Client('http://www.webservicex.net/ConvertSpeed.asmx?WSDL')
            result = client.service.ConvertSpeed(
                100, 'kilometersPerhour', 'milesPerhour')
            return HttpResponse('result')
    

    如果您不确定获得回报的速度(由于 SOAP 的性质),请使用

    使用 Zeep 进行命令行测试

    如果您想在两者之间进行测试,可以使用 Zeep 的命令行界面来简化此操作。

    python -mzeep http://www.soapclient.com/xml/soapresponder.wsdl
    

    【讨论】:

      猜你喜欢
      • 2013-03-10
      • 2012-02-13
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多