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

Java 将JAXB生成的类公开为WSDL web服务,java,web-services,wsdl,jaxb,axis,Java,Web Services,Wsdl,Jaxb,Axis,我有一些非常简单的函数。 每个函数有一个输入和一个输出 OutputType function func(InputType); 输入/输出的类型在xsd模式中定义,并使用JAXB/XJC生成java类。现在,我想将这些函数公开为在Geronimo上运行的WSDL Web服务 我只是看了一下Axis/WSDL2Java/Java2WSDL;我认为这与创建函数的方式类似 我想,我可以使用Java2WSDL从我的函数和输入/输出类型生成WSDL。 然后使用一些工具生成服务器/客户端绑定 有人能提出

我有一些非常简单的函数。 每个函数有一个输入和一个输出

OutputType function func(InputType);
输入/输出的类型在xsd模式中定义,并使用JAXB/XJC生成java类。现在,我想将这些函数公开为在Geronimo上运行的WSDL Web服务

我只是看了一下Axis/WSDL2Java/Java2WSDL;我认为这与创建函数的方式类似

我想,我可以使用Java2WSDL从我的函数和输入/输出类型生成WSDL。 然后使用一些工具生成服务器/客户端绑定

有人能提出更多的建议吗?特别是我在xsd模式中定义了函数的输入/输出

非常感谢

摘要:


这些就是我现在拥有的

使用一个输入和一个输出实现许多功能

公共输出类型函数xxx(输入类型输入){….;返回输出;}

InputType和OutputType已经在xsd模式中定义(并通过Jaxb/xjc转换为java类)


我想要的是

构建Web服务以执行这些功能。 不要触摸已实现功能的代码。 有了WSDL,

我找到了一个教程,它可以用来做你想做的事情

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


这就是说,合同优先的方法有很多好处,这取决于您试图实现的目标。有关它的一些信息,请参阅本教程。

如果您有一个现有的模式,以及它的现有JAXB2绑定,那么根据我的经验,这是迄今为止将其作为SOAP web服务公开的最简单的方法。它的理念是“合同第一”,这正是你所拥有的。您不需要生成任何额外的绑定,只需将端点连接到la Spring MVC,插入封送器,就可以了。它将对您的模式进行内省,查找类似于操作的内容,并自动将它们公开为WSDL操作(如果默认的自动发现不起作用,您可以告诉它如何做).

一些示例或教程会很好:)情况是,我们已经实现了许多业务逻辑函数,它们不是作为web服务运行的,我们将制作一个“接口”来公开它们。合同优先的方法可能不适合这种情况。我说得对吗?我不想触摸或更改那些实现的代码,甚至不想添加一些注释。谢谢你的回答,我将看一看CXF。