- - PR -
Apache axisについて
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-02 17:28
始めまして。
Webサービス初心者ですが、Apache Axisを使ってWebサービスのテストを行っています。 そこで質問があります。 -----Server:Java----- public class A { int a; public int seta( int val ) { a=val; return a; } public String getMessage() { return a + "Hello World"; } } -----Client:vbs----- set sc = WScript.CreateObject("MSSOAP.SoapClient") sc.mssoapinit("http://...../A.jws?wsdl") result = sc.seta(100) WScript.Echo(result) result = sc.getMessage() WScript.Echo(result) のコードを作成してみたのですが、 >100 >0Hello World となりました。 なぜ、”100Hello World”とならないのでしょうか? 初心者の質問で、くだらないかもしれませんが、 何方かご教示お願いします。 | ||||||||||||
|
投稿日時: 2004-06-02 18:28
と、
で呼び出されるサーバクラスのインスタンスが異なるからです。おそらくリクエスト単位で サーバインスタンスを生成する設定になっていると思いますが、そうでなくてもWebサービス はステートレスなコンポーネントですから、同一のインスタンスが呼び出されることを前提に した使い方はできません。 | ||||||||||||
|
投稿日時: 2004-06-04 00:50
WSDDのscopeをSessionに設定して下さい。
<parameter name="scope" value="Session"/> これで、望んだ結果になると思います。 HTTPで通信しているので、Webアプリケーションと同じく Cookieを使ってセッション管理しています。 |
1