【问题标题】:Missing information in WSDL (JAX-WS runtime)WSDL(JAX-WS 运行时)中缺少信息
【发布时间】:2013-10-01 10:47:25
【问题描述】:

我是 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 运行时

【问题讨论】:

  • 在缺少的字段中添加@XmlElement(required=true) 注释解决了问题

标签: java web-services jboss wsdl jax-ws


【解决方案1】:

我认为这只是一个复制粘贴错误,但您的 ComplexType 的 getter 方法的语法不正确。他们缺少()。这可能导致它们编译为字段而不是方法。如果它不仅仅是一个错字,请尝试修复方法并删除注释。

【讨论】:

    【解决方案2】:

    添加

    @XmlElement(required=true)
    

    对缺失字段的注释解决了问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 2012-11-26
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      相关资源
      最近更新 更多