2013-07-24 29 views
0

这是一个示例类我不知道为什么本网站服务无法正常工作

public class NewClass { 
    public String hello1(String txt) { 
     String a = "Hello " + txt + " !"; 
     return a; 
    } 
} 

,这是一个简单的Web服务

@WebService(serviceName = "NewWebService2") 
public class NewWebService2 { 
    private NewClass newess; 
    /** 
    * This is a sample web service operation 
    */ 
    @WebMethod(operationName = "hello") 
    public String hello(@WebParam(name = "name") String txt) { 
     return "Hello " + txt + " !"; 
    } 

    @WebMethod(operationName = "hello11") 
    public String hello11(@WebParam(name = "name") String txt) { 
     String ess=newess.hello1(txt); 
     return ess; 
    } 

} 

第一种方法hello工程完全,但第二方法hello11不起作用。我不明白这个问题。服务器显示此消息:

SEVERE: java.lang.NullPointerException 
at newpackage.NewWebService2.hello11(NewWebService2.java:31) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:601) 
at org.glassfish.webservices.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:143) 
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:149) 
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:94) 
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:961) 
    . 
    . 
    . 

请我需要了解此问题以及如何解决它。

+1

'newess'为'null'。用newess = new NewClass()初始化它'' – jlordo

回答

-1

试试这样说:

 this.newess = new NewClass(); 

这不是线程安全的。成员变量是不必要的。

不好的代码,但我相信这只是一个坏例子。

+0

'NewClass'只有默认的构造函数。 – jlordo

+0

只需注意,谢谢jlordo。 – duffymo

+0

当然,我不是downvoter,但。 – jlordo

0

初始化您的NewClass newess。您尝试访问newess.hello1()而不初始化您的newess变量

相关问题