2012-12-03 60 views
1

我是Java EE和SOAP的新手。我試圖創建一個簡單的Web服務應用程序及其客戶端(環境:NetBeans 7.2.1 IDE,GlassFish Server 3.1,Java 1.6)。每次調用後不同的Web服務對象

Web服務代碼:

package simplews; 

import javax.jws.*; 

@WebService(serviceName = "SimpleWebService") 
public class SimpleWebService { 

    String something = null; 

    @WebMethod(operationName = "setSomething") 
    @Oneway 
    public void setSomething(@WebParam(name = "smth") String smth) { 
     something = smth; 
    } 

    @WebMethod(operationName = "getSomething") 
    public String getSomething() { 
     return something; 
    } 

} 

客戶端應用程序代碼:

package simpleclientapp; 

import simplews.*; 

public class SimpleClientApp { 

    public static void main(String[] args) { 

     SimpleWebService_Service service = new SimpleWebService_Service(); 
     SimpleWebService port = service.getSimpleWebServicePort(); 

     port.setSomething("trololo"); 
     String smth = port.getSomething(); 

     System.out.println(smth); 
    } 
} 

不幸的是,客戶端應用程序打印出來null。經過簡短的調查後,我意識到,在服務器端,每個客戶端調用都會創建一個新的SimpleWebService對象(聽起來像無狀態方法)。

這裏有什麼問題?爲什麼客戶端端口不會爲每個調用引用相同的WS對象?

回答

相關問題