0

環境:NetBeans 7.1.2 glassfish 3.1.2

メソッドがpojoを返すWebサービスを作成しました。しかし、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 {


}

生成されたバージョンのPojoに正しい情報が含まれるようにするには、何をする必要がありますか?

4

2 に答える 2

1

getterとsetterのメソッドを使用してPOJOを作成し、メインクラスに使用する必要があります。お役に立てば幸いです。

于 2012-05-17T01:09:13.457 に答える
0

POJOクラスに注釈を付けて、iPojoをスキーマに含める必要があることを指定する必要があります。また、引数なしのコンストラクターを作成する必要があると思います。

また、WSDLコンテンツを提供していただければ助かります。

于 2012-06-04T18:00:45.847 に答える