环境: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>
* <complexType name="pojo">
* <complexContent>
* <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* <sequence>
* </sequence>
* </restriction>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "pojo")
public class Pojo {
}
我需要做什么才能使生成的Pojo版本包含正确的信息?
答案 0 :(得分:1)
需要使用getter和setter的方法创建一个POJO并使用到主类中。我希望能帮到你。
答案 1 :(得分:0)
您需要注释您的POJO类以指定iPojo需要包含在架构中,我认为您还需要创建一个没有args的构造函数
如果您向我们提供WSDL内容
,它也可以帮助我们