0

サーバーでクライアントが Web サービスにアクセスしようとすると、このエラーが発生します

原因: javax.xml.bind.JAXBException: hibernate.SBaraque がこのコンテキストに認識されていません
    com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo (JAXBContextImpl.java:619) で
    com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:145) で
    ... 42 以上

クライアントがこのメソッドを呼び出そうとすると、このエラーが表示されます:

@WebResult(name="listes")
public List findByPropery(@WebParam(name="arg1") String arg1, @WebParam(name="Value1") Object Value1);

DAOクラスを呼び出す

public List findByPropery(String arg1, Object Value1) {
    // TODO Auto-generated method stub
    System.out.println("findByPropery DAO IN");

    return getSession().createQuery("from SBaraque where "+arg1+" = ?").setParameter(0, Value1).list();
}

これは私のインターフェースです:

@WebService
public interface InterfaceService  {
    public void save(@WebParam(name="object") Object obj);

    public void modify(@WebParam(name="object") Object obj);

    public void delete(@WebParam(name="object") Object obj);

    @WebResult(name="listes")
    public List findAll();

    @WebResult(name="object")
    public Object findById (@WebParam(name="id") Integer id);   

    @WebResult(name="listes")
    public List findByListPropery(@WebParam(name="arg1") String arg1,
            @WebParam(name="Value1") Object Value1,
            @WebParam(name="arg2") String arg2,
            @WebParam(name="Value2") Object Value2);

    @WebResult(name="listes")
    public List findByPropery(@WebParam(name="arg1") String arg1,
            @WebParam(name="Value1") Object Value1);

    @WebResult(name="listes")
    public List findBySQLRequest(@WebParam(name="request") String request);

    @WebResult(name="listes")
    public List findByHQLRequest(@WebParam(name="request") String request);
}   
4

1 に答える 1

0

サービスが受け入れて返す可能性のあるすべてのクラスを指す @XmlSeeAlso アノテーションを追加する必要がある可能性があります。そうでなければ、JAXB はそれらについて何も知りません。

于 2012-06-05T13:54:49.387 に答える