2

我正在尝试设置 Web 服务。

我的方法是:

  • 创建动态 Web 项目
  • 创建类“MyService”:

    @WebService
    @XmlSeeAlso({B.class})
    public class MyService {
        public A method() {
            return new B();
        }
    }
    
  • 创建类“A”:

    @XmlSeeAlso(B.class)
    public class A {
        public int propertyOfA=0;
    }
    
  • 创建类“B”:

    public class B extends A {
        public int propertyOfB=1;
    }
    
  • 从 MyService.java 创建 Web 服务

没有错误,所有文件都已创建。但是,B 类不会出现在 WSDL 中的任何位置。因此,所有 Web 服务响应都不会包含 的任何值propertyOfB,因为它不在服务描述中。

如何B进入 WSDL?

编辑:我不确定它是否有任何区别,但我正在为 Tomcat v7.0、Apache Axis 创建 Web 服务

4

1 回答 1

1

我认为您的要求是通知 Web 服务的用户 B 类型对象也可以从 method() 操作返回。所以你要做的就是在你的 service.xml 中添加一个这样的条目,

 <parameter name="extraClass">B</parameter>

因此,它将向 WSDL 添加条目,提及 Web 服务操作也将返回这些类型的对象。因此,当代码生成发生时,这些也会生成。您可以通过检查响应的 xsi:type 来找到返回的类。请阅读此博客以进一步了解,http://ssagara.blogspot.com/2011/07/how-to-get-best-use-of-axis2-object.html

于 2012-11-10T03:49:57.440 回答