代码之家  ›  专栏  ›  技术社区  ›  Bluephlame

可测试性的WSDL生成和接口

  •  2
  • Bluephlame  · 技术社区  · 15 年前

    我有一个web服务,我想在我的应用程序中使用。也能够测试应用程序的其他部分我已经构建了一个接口,允许我使用mock和stub进行测试。

    我可以将接口添加到从web服务生成的代码中,但是,如果在任何时候重新生成代码,我会在生成的代码上释放接口。

    在这种情况下,当重新生成web服务引用时,我可以使用什么策略或模式来最小化中断。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Chris Thornton    15 年前

    围绕生成的代理代码构建一个包装器,这就是您的代码所在。不要更改生成的代理,因为您应该认为它是“可消耗的”。

    更新:包装器应该控制底层SOAP对象的生存期(声明并创建代理类的实例),并向应用程序公开有用的属性和方法,这样对WSDL(以及代理)的任何更改都不会影响应用程序的其余部分(很大)。i、 这是一个禁欲层,隐藏着血淋淋的细节。在我的系统中,我还处理序列化问题(SOAP XML并不总是我的代理认为应该出现的,可能是因为我们使用的是旧版本的Delphi)、注入安全证书、管理端点和记录数据。应用程序的其余部分完全不知道,而是调用如下函数:

    SendWidgets('select id from WidgetTable where status = NEW');
    GetWidgets(path_to_WidgetTable);
    ShowWidgetLog(Today-1);
    
    推荐文章