如何从 wsdl 创建 JAXWS Web 服务服务器骨架(不在 IDE 中)

发布于 2024-12-08 13:37:37 字数 246 浏览 2 评论 0原文

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

谢谢

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

i can't find any where how to create web service from server skeletons ( java pojo's )from
wsdl using JAXWS. The only tutorials I see are using automated wizard in NetBeans and and axis2 in eclipse. Can someone please give me hints on how to generate server side classes from given wsdl?

Thanks

UPADATE:
I just need to do :
wsimport.bat -Xendorsed SOAP.WSDL
and it creates the artifacts.
But now how do I implement it in the server ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

枫林﹌晚霞¤ 2024-12-15 13:37:37

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

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

答案扩展:

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

In addition to client side classes, wsimport also generates a SEI (Service Endpoint Interface). All you need to do is creating an implementation for that.

Then it should be ready for deployment in your application server.

Answer extended:

If you are using Metro, this is a tutorial on how to map your SEI and SIB (Service Implementation Bean) to the config files and get it ready for deployment.

枕头说它不想醒 2024-12-15 13:37:37

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

You can do this using wsdl2j during build phases using maven or ant. Also quite good is the cxf codegen plugin for maven.

固执像三岁 2024-12-15 13:37:37

正如 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< /code> 服务器端(提供者)的接口。请注意,这还会创建一个 Service 类(消费者/客户端)。

As pointed out by kevin, this can be done with cxf. They also maintain a maven plugin.

Here's an example on how to generate a server side implementation skeleton:

<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>

The -impl option will create a skeleton impl class that provides a basic implementation for your @WebService interface on the server side (provider). Note that this also create a Service class (consumer/client side).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文