gpt4 book ai didi

java - 使用 `java2wsdl` 生成的 Web 服务是否可以包含来自多个 Java 类的 API?

转载 作者:行者123 更新时间:2023-11-30 07:20:59 25 4
gpt4 key购买 nike

我正在使用 Axis2 来运行 Web 服务。这是定义服务的 services.xml 文件:

<service name="XEWS" scope="transportsession" class="com.mc.xews.XEWS">
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="false">com.mc.xews.XEWS</parameter>

我的问题是整个 API 位于一个单独的 Java 文件 XEWS.java 中,并且此类被发送到 java2wsdl。有没有一种方法可以将多个类作为 java2wsdl 的输入?此文件与 WSDL 一起用于生成 Web 服务。现在我只使用一个类作为 java2wsdl 的输入,所以这个类变得很大,因为有很多 API 函数......如果我知道如何发送更多,可以很好地分组到单独的类中比一个文件到 java2wsdl。从此类生成的 JavaDocs 文档也很难阅读。

Web 服务是否可以包含来自多个 Java 类的 API?

java2wsdl 中的 extra classes 选项参数是否应该用于此目的?

最佳答案

不,这是不可能的,因为 Axis2 生成工具在代码优先方法中将 Java 类:WSDL 映射为 1:1。假设他们可以提供将多个 Java 类映射到单个 WSDL 的功能(这将需要生成工具中的其他参数)。

Axis2 将“额外类”用于其他类型 - 用作输入/输出的原始复杂类型的子类。

如果整洁和紧凑的代码是唯一的问题,我建议重构它的方式,即只有一个类定义所有必需的操作,但将执行委托(delegate)给特定和适当的(多个)类。这可以被视为 Façade pattern 的应用程序.

关于java - 使用 `java2wsdl` 生成的 Web 服务是否可以包含来自多个 Java 类的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com