我是 JAX-WS 的新手,我有以下情况:
服务:
public class MyService {
@WebMethod()
public @WebResult MyBaseClass getBaseClassById(@WebParam(name="id") int id){
}
}
MyBaseClass 和层次结构:
@XmlSeeAlso({MySimpleType.class, MyComplexerType.class})
public abstract class MyBaseClass {
private int intField;
public int getIntField() { return intField; }
}
public class MySimpleType {
private String stringField;
public String getStringField() { return stringField; }
}
public class MyComplexerType {
private String[] stringArray;
private List<String> stringList;
public String[] getStringArray(){ return stringArray; }
public List<String> getStringList(){return stringList; }
}
我有以下问题,当我运行服务时,MySimpleType 和 MyBaseType 被正确翻译为 wsdl,但 MyComplexerType 没有。我得到的大致如下:
对于 MyBaseType:
<xs:complexType abstract="true" name="myBaseType">
<xs:sequence>
<xs:element name="intField" type="xs:int"/>
</xs:sequence>
</xs:complexType>
对于 MySimpleType:
<xs:complexType name="mySimpleType">
<xs:complexContent>
<xs:extension base="tns:myBaseType">
<xs:sequence>
<xs:element minOccurs="0" name="stringField" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
对于 MyComplexerType:
<xs:complexType name="myComplexerType">
<xs:complexContent>
<xs:extension base="tns:myBaseType">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
我究竟做错了什么?如何将我的 List 和 String[] 字段放入 WSDL?我正在使用 JBoss 7.1.1.Final 运行时