gpt4 book ai didi

java - 轴2 : employ inheritance for codegenerated request/response objects

转载 作者:行者123 更新时间:2023-12-01 15:28:31 26 4
gpt4 key购买 nike

这个问题非常简单,所以我希望我能足够清楚,以避免为其创建代码示例。我们正在使用 Axis2(准确地说是 1.5.1),它使用我们手工制作的 WSDL/XSD 文件通过 wsdl2java 创建 Java 客户端代码和服务器 stub 。该服务以文档样式模式生成,我们使用 ADB beans 序列化堆栈

我们的新 Web 服务在我们要创建的所有方法中都有一些共同的属性。比如说,每个请求都会被标记一些accessToken、otherPartyID 和其他类似的属性。

我能够在模式中使用继承,因此请求/响应类型确实扩展了常见的复杂类型,并且在为 Web 服务创建模式/WSDL 时我不必重复自己。但是,当我尝试编写实现代码时,我(令我非常沮丧)看到所有代码生成的请求/响应对象都继承了 java.lang.Object,并且没有具有公共(public)属性的公共(public)父类(super class)。

如果有这样一个类,那就太好了,这样处理这些常见属性的代码就可以保持通用,而且我不必使用反射和其他肮脏的技巧来避免猴子编码。

我目前的怀疑是,AXIS 不支持跨方法请求/响应类型的继承,但支持参数类型的继承。请分享您在这件事上的经验。

如果您有任何明确/精确的答案以及 AXIS 文档/来源的链接,那就太好了。

提前致谢,安东

最佳答案

这不是对您问题的直接答案,但您所做的事情是错误的。
继承是一个面向对象的术语,您不应该部署捕获 OO 特定机制的 Web 服务。这违背了面向服务的方法的概念。

因此,如果您的怀疑被证明是正确的,这不是 Axis 的问题,而是您的设计的问题。
无论如何,我建议直接在 Axis2 支持中询问这个问题。

关于java - 轴2 : employ inheritance for codegenerated request/response objects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9875386/

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