【问题标题】:axis2 : employ inheritance for codegenerated request/response objectsaxis2:对代码生成的请求/响应对象采用继承
【发布时间】:2012-03-26 15:52:26
【问题描述】:

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

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

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

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

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

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

提前致谢, 安东

【问题讨论】:

    标签: java web-services wsdl axis2


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-04
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多