Java wsimport从wsdl生成空类(POJO)

Java wsimport从wsdl生成空类(POJO),java,web-services,netbeans,wsimport,Java,Web Services,Netbeans,Wsimport,环境:NetBeans 7.1.2 glassfish 3.1.2 我编写了一个web服务,其方法返回POJO。但是,当我在IDE中创建WebService引用(或使用wsimport手动创建)时,为POJO生成的类是空的。以下非常简单的web服务演示了这个问题 Web服务类 package snhd.dx; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public class ReturnPojo

环境:NetBeans 7.1.2 glassfish 3.1.2

我编写了一个web服务,其方法返回POJO。但是,当我在IDE中创建WebService引用(或使用wsimport手动创建)时,为POJO生成的类是空的。以下非常简单的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 {


}
包snhd.dx;
导入javax.xml.bind.annotation.XmlAccessType;
导入javax.xml.bind.annotation.XmlAccessorType;
导入javax.xml.bind.annotation.XmlType;
/**
*用于pojo复杂类型的Java类。
* 
*以下架构片段指定此类中包含的预期内容。
* 
* 
*complexType name=“pojo”>
*complexContent>
*限制基数=”{http://www.w3.org/2001/XMLSchema}任何类型“>
*序列>
*/顺序>
*/限制>
*/complexContent>
*/complexType>
* 
* 
* 
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name=“pojo”)
公共类Pojo{
}

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

需要使用getter和setter的方法创建一个Pojo,并使用到主类中。希望能对您有所帮助。

您需要对POJO类进行注释,以指定iPojo需要包含在模式中,我认为您还需要创建一个不带参数的构造函数


如果您向我们提供WSDL内容,它也会帮助我们

我注意到
Pojo
没有任何可编辑的属性。我希望模式中不存在
文本
。您是自顶向下(wsdl优先)还是自下而上(java优先)工作。您提到了wsimport,这似乎暗示您首先使用wsdl。那么,为什么要创建自己的
Pojo
类呢?