【问题标题】:wsimport generating empty classes (pojos) from a wsdlwsimport 从 wsdl 生成空类 (pojos)
【发布时间】:2012-05-16 22:10:46
【问题描述】:

环境:NetBeans 7.1.2 glassfish 3.1.2

我编写了一个 Web 服务,它的方法返回 pojos。但是当我在 IDE 中创建 WebService 引用(或使用 wsimport 手动执行)时,为 pojos 生成的类是空的。以下非常简单的 Web 服务演示了该问题。

Web 服务类

package snhd.dx;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class ReturnPojo {

    @WebMethod
    public Pojo getPojo() {
        return new Pojo();
    }
}

它返回的pojo

package snhd.dx;

public class Pojo {

    public final static int iPojo = 1;

    public String getText() {
        return "POJO";
    }    
}

当我创建 Web 服务引用时,生成的类得到以下信息:

package snhd.dx;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;


/**
* <p>Java class for pojo complex type.
* 
* <p>The following schema fragment specifies the expected content contained within this class.
* 
* <pre>
* &lt;complexType name="pojo">
*   &lt;complexContent>
*     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
*       &lt;sequence>
*       &lt;/sequence>
*     &lt;/restriction>
*   &lt;/complexContent>
* &lt;/complexType>
* </pre>
* 
* 
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "pojo")
public class Pojo {


}

我需要做什么才能使生成的 Pojo 版本包含正确的信息?

【问题讨论】:

  • 我注意到Pojo 没有任何可编辑的属性。我希望 text 不存在于架构中。
  • 您是自上而下(wsdl-first)还是自下而上(java-first)工作。您提到 wsimport,这似乎暗示您首先使用 wsdl。那么你为什么要创建自己的Pojo 类呢?

标签: java web-services netbeans wsimport


【解决方案1】:

需要你创建一个带有getter 和setter 方法的POJO,并在主类中使用。希望能帮到你。

【讨论】:

    【解决方案2】:

    您需要注释您的 POJO 类以指定 iPojo 需要包含在架构中,我认为您还需要创建一个没有参数的构造函数

    如果您将 WSDL 内容提供给我们,我们也会帮助您

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      相关资源
      最近更新 更多