現在、Apache+Tomcat+StrutsによるWebアプリケーションがあります。それを、XML問い合わせによるWebサービスに改修したい次第です。WebサービスはAXIS(またはAXIS2)で実現したいと考えています。
通常のJavaクラスであればjava2wsdlなどでソースからWSDLファイルを作れると思いますが、StrutsのActionクラスなどは同様の事が出来るのでしょうか?それとも自身でWSDLファイルを作り、wsdl2javaなどからスケルトンを作って、そこから実体を呼ぶような手続きを取らなければならないのでしょうか?
AXISもあまり詳しくないのですが、アドバイス頂けると幸いです。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
あなたが求めてるのは、AxisではなくSOAPなのでは?
Axisは、サーブレットとして実装されているのでStrutsと共存させるのは無理です。
なぜStrutsを使う必要があるのか分かりませんが、Axisに入れ替えるだけでいいのではないですか。
この回答への補足
度々の回答、ありがとうございます。
> あなたが求めてるのは、AxisではなくSOAPなのでは?
その通りですが、AxisはSOAP実現のServletではないのでしょうか?
(これが違うとしたら、私自身がとんでもない勘違いをしている?)
Strutsは使う必要があるのではなく、既に使われている(既存アプリ)のです。StrutsによってPOST入力のチェックなどを賄っています。またAxisを使う理由はサービス統合対象が既にAxisインタフェース(Axisクライアント:他社開発)を持っているためです。今まではブラウザから呼ばれていたためHTML(JSP)を返却していましたが、改修後はWebサービス統合サーバのServiceClientから呼ばれ、XMLを返却する必要があります。
ともあれ
> Axisは、サーブレットとして実装されているのでStrutsと共存させるのは無理です。
であれば、無理に実装しようとすると以下の選択になるという事でしょうか。。。
A:AxisサーバにHttpRequestインスタンスを作り、再度Strutsサーバにアクセス
B:Strutsに依存している部分全て、依存しない方法に書き換える
結局Bが一番無難な選択になってしまうのでしょうか?
Actionクラスが数千にも渡るため厳しい戦いです。
No.1
- 回答日時:
StrutsのActionは、通常はHTML(JSP)を返すものですが、
Axisはインタフェースを返します。
それを、どう吸収するのでしょうか?
Actionから実行されているBLをAxisとするのは分かるんですが。
Axisのインタフェースとなるものは何ですか?
この回答への補足
> StrutsのActionは、通常はHTML(JSP)を返すものですが、
> Axisはインタフェースを返します。
> それを、どう吸収するのでしょうか?
私はそれを質問しているのですが・・・(汗
クライアントからHttpRequestではなくXMLが飛んでくるので、それを解析し、処理し、返却内容のオブジェクトを生成し、結果としてHTMLではなくXMLを返したいのが求める作業です。この「解析し」と「XMLを返したい」という部分とをAxisに補ってもらおうと思っているのですが、考え方は間違っていますでしょうか?
> Actionから実行されているBLをAxisとするのは分かるんですが。
> Axisのインタフェースとなるものは何ですか?
純粋な処理部分はJavaClassですのでそれをそのままAxisインタフェースとするのは簡単ですが、入り口がStrutsです(Actionから前述の純粋な処理部分を呼んでいます)ので入出力のエラー処理や例外などもStrutsに依存しています。
Aixsとはクライアントから受けたもの(XML)を指定のJavaClassに投げて、結果として帰ってきたものをクライアントに返す(XML)わけですよね?その「指定のJavaClassに投げて」を「StrutsActionに投げて」という改修手段が出来ないかを試行錯誤しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- Java JavaでWebページ作成 7 2023/07/21 21:09
- IT・エンジニアリング WEBサービスを利用して参照とはどういうことですか 3 2022/12/09 15:46
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- システム 古いWEBシステム。もう追加プログラムは作れない? それともできる? 6 2022/06/08 13:41
- Java EclipseとVisual StudioをPC1台にインストールしただけではPCは重くならない? 3 2022/12/08 15:35
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- ASP・SaaS イントラネットを構築したい 2 2022/04/24 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse・プロジェクトで、フォ...
-
SVFの設定について:クラスパス...
-
javaクラスファイルをEclipseで...
-
eclipse でclassesフォルダーが...
-
Eclipse「リフレッシュ」と「ク...
-
JADで*.jarごとデコンパイルす...
-
classファイルについて
-
earファイルを展開する方法
-
org.apache.tools.zip.* を使っ...
-
showSaveDialogを使ったファイ...
-
java.io.Fileクラスは絶対パス...
-
VB 2008 DLL作成の方法
-
importエラー
-
jdbcドライバのjarファイルにク...
-
EclipseでHTTP404エラーが出る。
-
【Eclipse】パッケージ・エクス...
-
javax.mailがimportできない
-
Warファイルの解凍について質問...
-
プログラム実行の際に、「ソー...
-
名前空間とヘッダーファイル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javaクラスファイルをEclipseで...
-
Eclipse・プロジェクトで、フォ...
-
classファイルについて
-
SVFの設定について:クラスパス...
-
Eclipse「リフレッシュ」と「ク...
-
earファイルを展開する方法
-
【Eclipse】パッケージ・エクス...
-
eclipse でclassesフォルダーが...
-
EclipseでHTTP404エラーが出る。
-
JADで*.jarごとデコンパイルす...
-
jdbcドライバのjarファイルにク...
-
java クラスファイルとソースコ...
-
「削除するか、クラスパスの正...
-
プログラム実行の際に、「ソー...
-
VisualStudioでC++クラスを追加...
-
「メイン・マニフェスト属性が...
-
コンパイルした後 java (class...
-
vbs で jar ファイルを起動させ...
-
『ClassNotFoundException: org...
-
org.apache.tools.zip.* を使っ...
おすすめ情報