Java EE と SOAP は初めてです。簡単な Web サービス アプリケーションとそのクライアントを作成しようとしました (環境: NetBeans 7.2.1 IDE、GlassFish Server 3.1、Java 1.6)。
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 オブジェクトを参照しないのはなぜですか?