java - 从 wsdl 创建模拟 soap web 服务 - Java

标签 java web-services soap wsdl jax-ws

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

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

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

谢谢, 多林

最佳答案

您可以使用像 SOAPUI(免费和付费版本)这样的工具来导入 WSDL 和 create a mock service从中。从那里,您可以制作 jar 装响应消息,甚至可以在模拟服务中实现一些逻辑,例如“如果 lastName 是‘错误’,则引发 soap 故障”,以允许您在客户端应用程序中测试各种服务响应场景。

Web 服务 stub /模拟/虚拟化的流行行业术语是“service virtualization”。有多种工具可以执行此操作,价格范围和功能各不相同。

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

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

关于java - 从 wsdl 创建模拟 soap web 服务 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40008242/

相关文章:

python - 如何使用 zeep 生成 List<String>?

wcf - WCF 操作名称和操作之间的关系

java - 在Java中的Web服务调用中传递ArrayList

java - 'readingid' 中的未知列 'where clause'

web-services - 使用 MS Dynamics CRM 2013 Online 插件中的外部 Web 服务

web-services - 如何通过 JMeter 或任何其他工具对静态 Web 服务进行负载测试?

c# - Web 配置文件中的连接字符串问题

java - JVM 如何通知被 `join()` 阻塞的线程?

java - 如何更新 JavaFX Canvas ?

java - 如果我在 java 中将 2147483647 添加到 int 和 long 类型,为什么我会得到 -2?