使用cxf spring构建webservice所遇问题的解决

最近开始使用cxf创建webservice,并创建client访问webservice,出现了一些问题,尝试解决掉

  1. webservice创建成功后,查看服务信息出现以下内容

    使用cxf spring构建webservice所遇问题的解决_第1张图片

    原以为有问题,但这是正常的显示,soap是用来通讯的,当直接访问webservice时,没有传输任何请求信息,所以就显示这个界面,这是正常显示

  2. 使用以下代码作为客户端去访问webservice 

              JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.getInInterceptors().add(new LoggingInInterceptor());

factory.getOutInterceptors().add(new LoggingOutInterceptor());

       factory.setAddress("http://localhost:8080/yzp/services/Hellow");

factory.setServiceClass(UserOperate.class);

UserOperate hello = (UserOperate) factory.create();

hello.add("delete");

         System.out.println("delete success");

   出现add npe异常,因为之前通过jsp访问add都没有问题,所以就以为是webservice的问题,也可能是对webservice不是很了解。最后才发现是spring配置的问题,使用jsp时,是通过配置文件一步步找到所需要的bean的,这个时候时初始化的,可以使用,但使用客户端访问webservice时,是直接进入到service中,这个时候service中的bean还没有初始化,因为spring默认是懒加载,所以就报npe了,改正方法就是在service中的bean上加入@autowired,这样系统在初始化的时候,就会使用get方法将系统中的bean分配给加了@autowired的bean,这个时候访问这些bean就是没问题的

    我所遇到的都是一些小问题,是生手才会遇到的,一方面是学习新东西的代价,一方面也是基本比较不好的问题,更重要的是遇到问题要多问人,我在网上找了好几天都没解决问题,最后愣是找别人一起研究解决的,要是有人遇到我这样的问题,希望可以帮到你




你可能感兴趣的:(使用cxf spring构建webservice所遇问题的解决)