繁体   English   中英

将JAXB生成的类公开为WSDL Web服务

[英]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,

我发现使用教程CXF做你正在寻找什么了这里

该文件声称使用合同优先的方法,但事实并非如此。 在讨论基于SOAP的服务时,契约首先意味着首先创建描述符(WSDL,XSD)。 然后,您可以从这些描述符中生成任何代码工件。 您可以在原始博客文章中看到有关原始作者选择单词的辩论的评论。

话虽这么说,基于合同的方法有很多好处,这取决于您要实现的目标。 有关它的一些信息,请参见Spring Web Services教程。

如果您有一个现有的架构,并带有现有的JAXB2绑定,那么以我的经验, Spring WebServices是迄今为止最简单的将其作为SOAP Web服务公开的方式。 它的理念是“合同第一”,这正是您拥有的。 您不需要生成任何其他绑定,只需将端点连接到Spring MVC,插入编组器即可。 它将对您的模式进行自省,以查找类似于操作的事物,并自动将其作为WSDL操作公开(如果默认的自动发现功能不起作用,您可以告诉它该如何做)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM