3

とても簡単だと思いますが、実際にはうまくいきません。

WebMethod から Pojo を返しています。

@WebMethod
public SubCategoria getSubCategorias() throws JAXBException {

    SubCategoria a = subCategoriaEJB.getAllSubCategorias().get(1);

    return a;
}

最初のものを返して試してみます。

私のWをテストするためにsoapUIを使用しています。

応答は次のとおりです。

    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
       <S:Body>
          <ns2:getSubCategoriasResponse xmlns:ns2="http://webService/">
             <return>
                <categoria>
                   <descripcion>Categoria Unica</descripcion>
                   <idCategoria>1</idCategoria>
                </categoria>
                <descripcion>asd123213</descripcion>
                <idSubCategoria>2</idSubCategoria>
             </return>
          </ns2:getSubCategoriasResponse>
       </S:Body>
    </S:Envelope>

その「リターン」ノードを「サブカテゴリ」と呼びたいと思います。XmlRootElement Annotation で実際に動作させることはできません。

ここに私のPojo(サブカテゴリ)

    package ejb.Entidades;

    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.ManyToOne;
    import javax.xml.bind.annotation.XmlRootElement;


    @Entity
    @XmlRootElement(name="SubCategoria")
    public class SubCategoria {

        @Id
        private Integer idSubCategoria;

        @ManyToOne 
        private Categoria categoria;


        private String descripcion;


        public Integer getIdSubCategoria() {
            return idSubCategoria;
        }
        public void setIdSubCategoria(Integer idSubCategoria) {
            this.idSubCategoria = idSubCategoria;
        }

        public String getDescripcion() {
            return descripcion;
        }
        public void setDescripcion(String descripcion) {
            this.descripcion = descripcion;
        }
        public Categoria getCategoria() {
            return categoria;
        }
        public void setCategoria(Categoria categoria) {
            this.categoria = categoria;
        }

    }

手がかりのある人?

前もって感謝します。

4

1 に答える 1

4

@WebResult注釈を使用する必要があります。

@WebMethod
@WebResult(name = "subCategoria")
public SubCategoria getSubCategorias() throws JAXBException {

    SubCategoria a = subCategoriaEJB.getAllSubCategorias().get(1);

    return a;
}
于 2012-08-30T16:17:54.010 に答える