我正在尝试设置网络服务。
我的方法是:
创建课程“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创建Web服务,Apache Axis
答案 0 :(得分:1)
我认为您的要求是告知Web服务的用户,也可以通过method()操作返回B类型对象。所以你需要做的就是在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