错误:带有WebService的客户端中的java.lang.NullPointerException。怎么修好了?

时间:2016-04-28 04:56:25

标签: spring jax-ws

我正在做一个关于jax-ws-spring-integration的例子。我的项目有以下结构。

enter image description here

在客户端

enter image description here

此处归档UserClient.java

public class UserClient {
    static UserService service;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//      System.out.println("From webservice"
//              + service.sayHello("Nguyen van a")); 
        service = new UserService();
        User user = service.getUser("hoaipham");
        System.out.println("Hello" + user.getUserName());
        System.out.println("Email" + user.getAge()); 
    }

}

此处归档UserService.java

@WebService
@Component
public class UserService {
    @Autowired
    private UserBo userBo;
    @WebMethod(operationName = "getUser")
    public User getUser(String username){
        return userBo.loadUser(username);
    }
    @WebMethod(operationName = "say")
    public String sayHello(String name){
        return "Hanoi Java say hello to" + name;
    }
}

当我在客户端中运行“main”时,会出现以下错误:

  

线程“main”中的异常java.lang.NullPointerException at   edu.java.spring.ws.UserService.getUser(UserService.java:19)at   Client.UserClient.main(UserClient.java:14)

1 个答案:

答案 0 :(得分:0)

嗯,看起来Spring不在客户端工作(在不同的jvm中)。

尝试创建AnnotationConfigApplicationContext的实例并将您的类添加到Context(或让实例扫描包)。

修改

尝试

public class UserClient {
    static UserService service;

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//      System.out.println("From webservice"
//              + service.sayHello("Nguyen van a")); 
        service = new AnnotationConfigApplicationContext(UserService.class)
                          .getBean(UserService.class);
        User user = service.getUser("hoaipham");
        System.out.println("Hello" + user.getUserName());
        System.out.println("Email" + user.getAge()); 
    }

}