【问题标题】:Create mock soap web services from wsdl - Java从 wsdl 创建模拟肥皂 Web 服务 - Java
【发布时间】:2016-10-12 20:59:43
【问题描述】:

我是实施肥皂服务的新手。到目前为止,我只使用部署在 Talend ESB 中的 jax-rs 在 Java 中实现了 REST 服务。

我需要从 wsdl 文件创建模拟服务。我正在使用 cxf、jax-ws,我需要将捆绑包部署在 talend 容器中。我从 wsdl 文件生成了 Web 服务,从而产生了服务接口和 DTO。

目前我没有服务的实现,我需要创建一个模拟服务。我的问题是我不知道如何创建一个模拟服务,该服务将在不久的将来以尽可能少的努力被真正的实现所取代,这意味着当我收到实现时我不想做任何专业系统运行的修改。

谢谢, 多林

【问题讨论】:

    标签: java web-services soap wsdl jax-ws


    【解决方案1】:

    您可以使用 SOAPUI(免费和付费版本)之类的工具从中导入 WSDL 和 create a mock service。从那里,您可以制作预制响应消息,甚至在模拟服务中实现一些逻辑,例如“如果 lastName 为 'ERROR',则引发肥皂故障”,以允许您在客户端应用程序中测试各种服务响应场景。

    Web 服务存根/模拟/虚拟化的流行行业术语是“service virtualization”。有多种工具可以做到这一点,价格范围和功能各不相同。

    至于您担心在真正的服务提供者实现可用时必须修改客户端应用程序,这是一个合理的担忧。假设 WSDL 接口本身没有改变,这里有一些 Web 服务方面可能不会(通常不会)出现在 WSDL 中,并且当真正的服务提供者期望它们而您的存根/模拟没有时,它们可能会导致您做更多的工作:

    我的建议是,在实际服务实现或实时服务端点是否有任何这些要求时,只需询问服务提供者。

    【讨论】:

      【解决方案2】:

      我刚刚为处理大部分繁重工作的简单 JUnit 规则创建了一个 PoC:mockito-soap-cxf。我不熟悉你的容器,所以你可能想稍微调整一下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多