1

ステートフル 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

私が間違っていることは何ですか?

4

0 に答える 0