Java WSDL中缺少信息(JAX-WS运行时)
我是JAX-WS新手,我有以下情况: 服务:Java WSDL中缺少信息(JAX-WS运行时),java,web-services,jboss,wsdl,jax-ws,Java,Web Services,Jboss,Wsdl,Jax Ws,我是JAX-WS新手,我有以下情况: 服务: public class MyService { @WebMethod() public @WebResult MyBaseClass getBaseClassById(@WebParam(name="id") int id){ } } MyBaseClass和层次结构: @XmlSeeAlso({MySimpleType.class, MyComplexerType.class}) public abs
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; }
}
@xmlseealway({MySimpleType.class,MyComplexerType.class})
公共抽象类MyBaseClass{
私有int域;
public int getIntField(){return intField;}
}
公共类MySimpleType{
私有字符串字符串字段;
公共字符串getStringField(){return stringField;}
}
公共类MyComplexerType{
私有字符串[]字符串数组;
私人名单;
公共字符串[]getStringArray(){return stringArray;}
公共列表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>
我做错了什么?如何将列表和字符串[]字段放入WSDL?我正在使用JBoss 7.1.1.Final runtime我假设这只是一个复制粘贴错误,但是ComplexType的getter方法的语法不正确。他们错过了机会。这可能导致它们编译为字段而不是方法。如果这不仅仅是打字错误,请尝试修复方法并删除注释。添加
@XmlElement(required=true)
对缺失字段的注释解决了问题向缺失字段添加@XmlElement(required=true)注释解决了问题