我开始与商业供应商合作开展新项目。我需要在我们的应用程序中编写一个集成模块来使用商业供应商的Web服务。因此,WSDL不受我们控制。
我认为一般方法是进行“契约优先”开发并从WSDL文件生成存根。我想知道有哪些技术可以做到这一点?我真的很喜欢最简单的方法。我们广泛使用Maven 3.0.3和Spring 3.0.5。我可以使用Spring WebServiceTemplate吗?
如果问题不明确或需要其他详细信息,请与我们联系。
谢谢, Tapasvi
答案 0 :(得分:5)
您可以为maven plugin生成JAX-WS的Java存根。然后,您可以使用spring中的存根将它们公开为Web服务。幸运的是,它非常简单:)。
只是一个建议,不要在每次构建项目时重新生成存根,因为(显然)你将无法向存根添加任何代码,有时非常有用。我很久以前犯了这个错误,这很痛苦,因为我不得不把代码放在它不属于的地方。在过去的几年里,我使用maven配置文件按需生成存根,然后我“手动”合并它们以添加额外的代码。当然,只有在WSDL不经常更改的情况下,这才是可行的。
答案 1 :(得分:4)
我使用过轴,最简单的方法是运行实用程序wsdl2java并传递webservice的位置以及?wdsl选项。
我知道很多IDE现在都可以从内部生成存根。 MyeclipseIDE有一个选择来摄取WSDL,所以IntelliJ。我认为更安全的方法是使用wsdl。此外,如果你使用jax-ws,你可以尝试
wsimport -keep -verbose位置到wsdl
答案 2 :(得分:4)
JAX-WS包含在标准Java 6发行版中,因此使用起来非常简单。
在JDK中生成带有wsimport
的存根(记得尽可能多地启用警告,因为您想知道任何可能导致问题的事情)。