2012-12-04 26 views

回答

1

它用於在WSDL定義中包含父類顯示爲返回類型或參數的那些類型。考慮一個非常簡單的例子:

public class DemoService { 
    public Animal pickRandomAnimal() { 
     return new Dog(); // or any other animal 
    } 
} 

..其中Animal是一個接口。在WSDL生成時,Axis2將無法自動跟蹤您可能期望返回的Animal的所有可能實現。沒有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 =「com.demo.Dog」,你會覆蓋您在WSDL模式部件所需要的所有類型:

<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> 
+0

太好了,非常感謝! – Danijel

相關問題