发布于 2012-12-05 07:28:29
它用于在WSDL定义中包含其父类型显示为返回类型或参数的那些类型。考虑一个非常简单的例子:
public class DemoService {
public Animal pickRandomAnimal() {
return new Dog(); // or any other animal
}
}。。其中Animal是一个接口。在WSDL生成时,Axis2将不能自动跟踪您可能期望返回的所有可能的动物实现。如果没有extraClasses,你会得到这样的结果:
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://demo.com/xsd">
<xs:complexType name="Animal">
<xs:sequence>
<xs:element minOccurs="0" name="animalName" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>。。如果添加extraClasses=“WSDL”,就会覆盖com.demo.Dog模式部分中需要的所有类型:
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://demo.com/xsd">
<xs:complexType name="Animal">
<xs:sequence>
<xs:element minOccurs="0" name="animalName" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Dog">
<xs:sequence>
<xs:element minOccurs="0" name="animalName" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>https://stackoverflow.com/questions/13709081
复制相似问题