我无法找到如何从服务器骨架(java pojo)创建Web服务的地方 wsdl使用JAXWS。我看到的唯一教程是在NetBeans中使用自动向导,在eclipse中使用axis2。有人可以给我一些关于如何从给定的wsdl生成服务器端类的提示吗?
谢谢
UPADATE:
我只需要这样做:
wsimport.bat -Xendorsed SOAP.WSDL
它会创建工件。
但现在我如何在服务器中实现它?
答案 0 :(得分:7)
除客户端类外,wsimport还会生成SEI(服务端点接口)。您需要做的就是为此创建一个实现。
然后它应该准备好在您的应用程序服务器中进行部署。
答案扩展:
如果您使用Metro,this是一个关于如何将SEI和SIB(服务实现Bean)映射到配置文件并准备好部署的教程。
答案 1 :(得分:1)
您可以使用maven或ant在构建阶段使用wsdl2j执行此操作。同样相当不错的是maven的cxf codegen插件。
答案 2 :(得分:1)
正如kevin所指出的,这可以通过cxf完成。他们还保持maven plugin。
以下是如何生成服务器端实现框架的示例:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.7.7</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>src/main/gen</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>src/main/webapp/WEB-INF/wsdl/yourWsdl.wsdl
</wsdl>
<wsdlLocation>classpath:wsdl/yourWsdl.wsdl</wsdlLocation>
<!-- Generate WS impl Skeleton -->
<extraargs>
<extraarg>-impl</extraarg>
</extraargs>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
-impl
选项将创建一个框架impl
类,它为服务器端(提供程序)上的@WebService
接口提供基本实现。请注意,这也会创建一个Service
类(使用者/客户端)。