现在出了点问题,有点丈二的和尚,摸不着头脑,占用您一点时间,帮忙看下,给个思路。
Event实体类:
       private static final long serialVersionUID = -5510028768945191747L;
       Integer csspId;
       Integer csspElementId;
       Integer id;
       Integer elementId;
       String objectType;
       Integer deviceId;
       String deviceType;
       String summaryText;
       Date timeReported;
       Severity severity; 这里有个自定义类
       Integer cleared;
       String source;
       Integer type;
       Integer subtype;
       String probableCauseDescription;
       String recommendedActions;
       String correlatedIndications;
       String typeDescription;
       Integer sequence;
       setter,getter方法     
我对外曝露一个方法,数据层实现是这样的,作用是获取数据库中所有事件,其中两条打印语句没有问题,说明执行成功了。       public List<Event> getAllEvents() {
              // TODO Auto-generated method stub
              List<Event> list = null;
              Session s = this.sessionFactory.openSession();
              String hql = "from Event";
              list = s.createQuery(hql).list();
              System.out.println("list.get(0).getSeverity()"+list.get(0).getSeverity().getName());
              System.out.println("list.size()"+list.size());
              //     System.out.println("list.size()"+list.length);
              
              if (list != null) {
                     return list;
              } else {
                     return null;
              }
       }      EventDTO类
public class EventDTO {
       private Event[] eventArray;       public Event[] getEventArray() {
              return eventArray;
       }       public void setEventArray(Event[] eventArray) {
              this.eventArray = eventArray;
       }
       
}
这个是服务层的数据封装
       public EventDTO getAllEvents() {
              // TODO Auto-generated method stub
              List<Event> eventlist = eventdao.getAllEvents();
              EventDTO eventdto = new EventDTO();      
              eventdto.setEventArray(eventlist.toArray(new Event[0]));
              return eventdto;
       }在浏览器中调用的时候,发现出现了这样的问题,这个报错也不知道原因是啥,也没个cause by
所以只有劳驾大侠帮忙找指点指点。
2011-09-26 17:13:20,636 ERROR [org.apache.axis2.rpc.receivers.RPCMessageReceiver] - 
java.lang.NullPointerException
       at org.apache.axis2.databinding.utils.BeanUtil.getPropertyQnameList(BeanUtil.java:239)
       at org.apache.axis2.databinding.utils.BeanUtil.getPullParser(BeanUtil.java:67)
       at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.processProperties(ADBXMLStreamReaderImpl.java:994)
       at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:850)
       at org.apache.axis2.databinding.utils.reader.WrappingXMLStreamReader.next(WrappingXMLStreamReader.java:49)
       at org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl.next(ADBXMLStreamReaderImpl.java:853)
       at org.apache.axis2.util.StreamWrapper.next(StreamWrapper.java:71)
       at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
       at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
       at org.apache.axiom.om.impl.llom.OMSerializableImpl.build(OMSerializableImpl.java:78)
       at org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:722)
       at org.apache.axiom.om.impl.llom.OMElementImpl.detach(OMElementImpl.java:700)
       at org.apache.axiom.om.impl.llom.OMNodeImpl.setParent(OMNodeImpl.java:105)
       at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:296)
       at org.apache.axiom.om.impl.llom.OMElementImpl.addChild(OMElementImpl.java:212)
       at org.apache.axis2.rpc.receivers.RPCUtil.processResponse(RPCUtil.java:104)
       at org.apache.axis2.rpc.receivers.RPCUtil.processResponseAsDocLitWrapped(RPCUtil.java:437)
      at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:138)
       at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
       at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)
       at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
       at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
       at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:825)
       at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:271)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
       at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279)
       at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
       at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
       at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
       at java.lang.Thread.run(Unknown Source)

解决方案 »

  1.   

    java.lang.NullPointerException  
      

  2.   

    应该是你的event实体类中用自定义的复杂类型做了属性,你可以暂时把这个属性去掉再试试
      

  3.   

        List<Event> eventlist = eventdao.getAllEvents();
                  EventDTO eventdto = new EventDTO();     
    看一下是否为空  
      

  4.   

    List<Event> eventlist = eventdao.getAllEvents();
    EventDTO eventdto = new EventDTO(); 看一下是否为空 
      

  5.   

    感谢各位了,问题已经解决了。
    错误找出来,哎,这样问题还真…
    错误处在hibernate的配置文件上。
    <many-to-one name="severity" column="severity" class="Severity"  lazy="false" ></many-to-one>lazy在不配置的情况下,默认值为true,意思是session只会读取主表的值,并放入到内存中,没有关联表的实体。
    所以在webservice生成的时候,就找不到serverity的类,在最后生成的时候出错的。
    仅供分享。