从wsdl - Java创建模拟soap Web服务

时间:2016-10-12 20:59:43

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

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

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

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

谢谢, 多兰基尔托

2 个答案:

答案 0 :(得分:0)

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

Web服务存根/模拟/虚拟化的时髦行业术语是" service virtualization。"有多种工具可以实现这一目标,具有不同的价格范围和功能。

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

我的建议是,如果真实服务实施或实时服务端点中存在任何这些要求,只需询问服务提供商。

答案 1 :(得分:0)

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