S2Axis 動的クライアントのバグ
mashu さんからのコメント
S2Axisと同等の仕組みをSpringで実現しようとしています。S2Axisのコードを思いっきり参考にさせていただいているのですが、動的起動クライアントって、サービスに引数があっても動きます?クライアント側は、ほぼそのまま動かしている感じなんですが、addParameterしろとか怒られます。
そういえば試したことなかったかも〜.ごそごそ.
ぐはぁっ,たしかに例外... (;_;)
うーみゅ,Axis のエラーメッセージって随分丁寧ですね.そうですか,Call#setReturnCalass(Class)
するときは Call#addParameter()
もセットで呼び出さないといけないわけですか.
でもでも,Call#addParameter()
って引数多いな...
うーみゅ,どうせ JAX-RPC 的には setReturnCalass(Class)
なんて存在しないことだし,どうせルーズな動的起動なんだから,このあたりはまとめて削除しますか (いいのか?).
ということで,こんな風に修正.
final Call call = service.createCall(); call.setTargetEndpointAddress(url.toString()); call.setOperationName(new QName("http://soapinterop.org/", method .getName()));
元のソースで使っていた Call
は org.apache.axis.client.Call
ですが,修正版のは javax.xml.rpc.Call
です.
微妙に API が違うんですね.エンドポイントは文字列で与えるんだぁ.
とりあえず 1 引数だけ試してみました.
ご参考になれば.
っていうか,いい加減 S2Axis 取り組まねば...
でも今週末は仕事になりそうというか間違いなく仕事なんだよなぁ.
あうあう.