如何在给定SOAP WSDL操作的情况下创建WSDL文件

时间:2010-01-06 22:32:30

标签: java soap wsdl service

我没有任何与Web服务相关的开发经验。所以,任何想法将不胜感激。

假设,我有一个文件列出了WSDL操作的草案规范。以下是一个例子。我将如何创建WSDL文件。记事本是否足够,还是需要WSDL编辑器?

getHostSystemInfo

返回有关通过给定ID指定的主机系统的详细信息。

  • 输入HostSystemIdCollection(字符串集合)
  • 输出HostSystemInfoCollection
    • HostSystemInfo
      • Id:强制性
      • 属性:应为主机系统提供以下属性
        • HostSystemName
        • HostSystemProperty1
        • HostSystemProperty2
        • HostSystemProperty3 .... ....

5 个答案:

答案 0 :(得分:5)

如果问题只是“我如何创建WSDL”那么你确实可以使用记事本来编写它,毕竟它只是XML。但是,手动编写语法正确的XML非常枯燥,容易出错。所以我建议使用WSDL识别工具,例如Eclipse editor

另一种方法是编写一些表达接口的Java,并从中生成WSDL。有很多方法可以做到这一点,包括从EJB开始并相应地注释它。一些谷歌应该帮助你找到你需要的东西。

我的经验是,从Java开始,简单的POC情况往往效果很好。从WSDL开始,大型项目从设计考虑的设计中获益。

答案 1 :(得分:4)

手工编写WSDL是一件很大的痛苦!我使用XML编辑器创建,然后使用JAXWS生成存根。理解和区分WSDL样式很重要,这不是一件容易的事(看看WSDL styles)。一个很好的帮助是将WSDL架构导入IDE(eclipse,idea),然后使用自动完成。

只是为了感兴趣,为什么使用WSDL + SOAP。如果您有选择并且无论如何使用HTTP,请查看REST。它可以使web-api的实现变得更容易,无论是在服务器端还是用于api-clients。

答案 2 :(得分:1)

如果您以前没有做过任何Web服务,我强烈推荐使用WSDL编辑器。 Netbeans有一个应该有帮助的插件。

另一种方法是使用JSR 181中定义的Java注释,这可能更容易。

答案 3 :(得分:1)

当然你可以使用世界上最差的文本编辑器(!),但我认真考虑使用任何体面的XML编辑器或IDE(Eclipse的WSDL支持相当不错)。这将为您节省很多痛苦和痛苦。

或者,如果这是一个选项,您可以使用JAX-WS注释来注释Java类,并使用Java代码动态生成WSDL。就个人而言,我更喜欢WSDL优先方法,Java优先方法只是一个让你入门的建议。

答案 4 :(得分:0)

您可以使用Axis2为您创建。