ステートフル WebService とステートレス WebService があり、ステートフル Web サービスの新しいインスタンスに EndPointReference を返します。このブログの例のようにhttps://weblogs.java.net/blog/kohsuke/archive/2006/10/stateful_web_se.html
@Stateful
@WebService
@Addressing
class BankAccount {
protected final int id;
private int balance;
public BankAccount(int id) { this.id = id; }
@WebMethod
public void deposit(int amount) { balance+=amount; }
// either via a public static field
public static StatefulWebServiceManager<BankAccount> manager;
}
..
@WebService
class Bank { // this is ordinary stateless service
@WebMethod
public synchronized W3CEndpointReference login(int accountId) {
BankAccount acc = new BankAccount(accountId);
return BankAccount.manager.export(acc);
}
}
しかし、クライアントを実行してステートレス サービス メソッド「ログイン」を呼び出すと、次の例外が発生します。
javax.xml.ws.WebServiceException: No address is available for {http://server.stateful
/}BankAccountPort
私が間違っていることは何ですか?