[英]expose JAXB generated Class as WSDL web service
我有一堆非常简单的功能。 每个功能都有一个输入和一个输出。
OutputType function func(InputType);
输入/输出的类型在xsd模式中定义,并通过JAXB / XJC生成为Java类。 现在,我想将这些功能公开为在Geronimo上运行的WSDL Web服务。
我只是看了一下Axis / WSDL2Java / Java2WSDL; 我认为这与创建函数的方式非常相似。
我想,我可以使用Java2WSDL从我的函数和输入/输出类型生成WSDL。 然后使用一些工具来生成服务器/客户端绑定,
谁能提供更多建议? 特别是我已经在xsd模式中定义了函数的输入/输出。
非常感谢。
总结:
这些就是我现在所拥有的...
许多实现的功能只有一个输入和一个输出。
public OutputType functionXXX(InputType in){....; 返回输出; }
InputType和OutputType已在xsd模式中定义(并已通过Jaxb / xjc转换为Java类)。
我想要的是...
构建Web服务以执行这些功能。 不要触摸已实现功能的代码。 有了WSDL,
该文件声称使用合同优先的方法,但事实并非如此。 在讨论基于SOAP的服务时,契约首先意味着首先创建描述符(WSDL,XSD)。 然后,您可以从这些描述符中生成任何代码工件。 您可以在原始博客文章中看到有关原始作者选择单词的辩论的评论。
话虽这么说,基于合同的方法有很多好处,这取决于您要实现的目标。 有关它的一些信息,请参见Spring Web Services教程。
如果您有一个现有的架构,并带有现有的JAXB2绑定,那么以我的经验, Spring WebServices是迄今为止最简单的将其作为SOAP Web服务公开的方式。 它的理念是“合同第一”,这正是您拥有的。 您不需要生成任何其他绑定,只需将端点连接到Spring MVC,插入编组器即可。 它将对您的模式进行自省,以查找类似于操作的事物,并自动将其作为WSDL操作公开(如果默认的自动发现功能不起作用,您可以告诉它该如何做)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.