2012-06-05 16 views
0

當客戶端嘗試訪問我的web服務我得到這個錯誤元帥和我的服務器解組與CXF

 
Caused by: javax.xml.bind.JAXBException: hibernate.SBaraque is not known to this context 
    at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:619) 
    at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:145) 
    ... 42 more 

此錯誤顯示時,我的客戶端嘗試調用此梅索德:

@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); 
} 

回答

0

您可能需要添加一個@XmlSeeAlso註釋,該註釋將指向該服務將接受並返回的所有可能的類。否則,JAXB將不知道任何關於它們的信息。