- - PR -
Axisで、同じ入力メッセージを持つ2つのオペレーション
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-19 10:45
Apache Axis 1.4を使ってWebサービスを作っています。
オペレーションの選択のされ方について質問があります。 まずやりたいこととして、WSDLで2つのオペレーションを定義しています。 2つのオペレーションは、入力メッセージが同じで、出力メッセージは異なります。
このとき、クライアントからオペレーション2を呼ぼうとしても、 オペレーション1が呼ばれてしまい、(おそらく)クライアント側で 「Invalid element in %1 - %2」エラーになります。 ささっと検索した程度ですが、 http://otndnld.oracle.co.jp/document/products/as10g/101320/doc_cd/web.1013/B31869-02/interop.htm
http://edocs.beasys.co.jp/e-docs/alsb/help30/consolehelp30/consolehelp/wwhelp/wwhimpl/js/html/wwhelp.htm?href=proxyserviceCreateProxyServiceOperationSelectionConfigurationPage.html
という記述から、この動作は仕様なのだと解釈しました。 (見つけたページがOracleやAquaLogicだっただけで、これらの製品は使用していません。 実際に使っているのはOpenstandia/AS 2.0.2です) さて、ここで質問なのですが、このように同じ入力メッセージを持つ 2つのオペレーションを使いたいとき、どのように対応するべきなのでしょうか。 今考えている方法としては、 (1)入力メッセージの名前を違うものにする (2)操作の選択方法を変更する(たとえばsoapActionによる選択など) (3)そのほかに常套手法がある? です。 (1)はWSDLを変更して、可能であることは確認しました。 (しかしWSDLが与えられているトップダウン開発なので、 できればWSDLの変更は避けたい) (2)は変更のメリット・デメリットを調べてみます。 特に何か特徴や注意すべき点があれば教えてください。 (あと、変更の仕方もお願いします) よろしくお願いします。 |
1