3

我找不到任何地方如何使用 JAXWS 从 wsdl 的服务器骨架(java pojo's)创建 Web 服务。我看到的唯一教程是在 NetBeans 中使用自动向导和在 eclipse 中使用axis2。有人可以给我关于如何从给定的 wsdl 生成服务器端类的提示吗?

谢谢

更新:
我只需要这样做:
wsimport.bat -Xendorsed SOAP.WSDL
并创建工件。但是现在我如何在服务器中实现它?

4

3 回答 3

7

除了客户端类之外,wsimport 还生成一个 SEI(服务端点接口)。您需要做的就是为此创建一个实现。

然后它应该准备好部署到您的应用程序服务器中。

答案扩展:

如果您使用 Metro,是一个关于如何将您的 SEI 和 SIB(服务实现 Bean)映射到配置文件并准备好部署的教程。

于 2011-10-05T14:52:53.433 回答
1

您可以在使用 maven 或 ant 的构建阶段使用 wsdl2j 执行此操作。maven 的 cxf codegen 插件也相当不错。

于 2011-10-05T13:50:38.367 回答
1

正如kevin所指出的,这可以用cxf来完成。他们还维护一个Maven 插件

下面是一个关于如何生成服务器端实现框架的示例:

<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类(消费者/客户端)。

于 2013-11-15T08:46:46.963 回答