No.2ベストアンサー
- 回答日時:
あまりSOAPに詳しくはないのですが、私の知っている範囲で考えると、
もともとのSOAPの仕組みとしては、任意のデータを任意のプロトコルで転送する仕組みですから、質問のケースではHTTPプロトコルとしては通信に成功しているためHTTPのエラーコードを使うのはふさわしくないと考えられます。
SOAPには、データの論理エラーやサービスの実行時エラーの場合に例外を返す仕組みがありますが、それで代用は出来ないのでしょうか。
axisの実装としても、アプリケーション側からHTTPのエラーコードを制御できるようにはしていないでしょうから、希望通りにHTTPコードを返すのは、難しいと思います。
どうしてもHTTPエラーコードにする必要があるのなら、完全に憶測ですが、tomcatみたいに、axisにもプラグインとかフィルタとかの仕組みがあるでしょうから、そのあたりをいじれば可能かもしれません。
もし大嘘ついていたらごめんなさい。
知らないなら答えるなって感じですが、少しでもヒントになればと。
確かに、その通りかもしれないですね。
SOAPを投げる側がもともとHTTPを制御していたモジュールなので、
HTTPでエラーを管理すると楽かなと思ったのですが、
axisにHTTP制御ができないとなると、無理にやる必要性が無さそうですね。
検討してみます。ありがとうございました!
No.3
- 回答日時:
>SOAPで入力を受け取ったとき、HttpServletResponseインスタンスを受け取りません。
なるほど。そうなんですか。
では、こういうのはどうでしょうか?
(1)Axisサーブレットを継承してカスタムサーブレットを作成する
よくわかってないからあれですが、
http://ws.apache.org/axis/java/apiDocs/index.html
をぱっと見たところ、
org.apache.axis.transport.http.AxisServlet
これを継承するの・・・かな?
(2)このサーブレットから、HttpServletResponseをstaticに保存しておく
(3)エラーの箇所でsetStatus実行する
相当トリッキーですまぬ(^-^;
ご回答ありがとうございます。
カスタムサーブレットを作成ですか。
見た感じ、できればうまくいきそうですね!
ただやはり、大規模&トリッキーになりがちなので、
ちょっと別の方法を検討してみます!
ありがとうございました。
No.1
- 回答日時:
すみません。
SOAPが良くわからないのですが、SOAPだと、
HttpServletResponse#setStatus(int )
とか
HttpServletResponse#sndError(int, String )
は使えないということでしょうか?
この回答への補足
SOAPで入力を受け取ったとき、HttpServletResponseインスタンスを受け取りません。
そのため、setStatusでコードを設定する事ができません。
============================================
Webサービスクラスは以下のような感じです。
/**
*WebServiceのsサービス
*入力が0なら1が返る
*入力が0以外ならHTTP505などのコードが返る
*/
public class WebService {
public int s( int n ) {
if ( n==0 ) {
// 何もしないとHTTPコード200が返るようです。
return 1;
} else {
// HTTPコード505などでエラーを返したい。
return -1;
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ネットショッピング・通販・ECサイト) 中国のサイトで注文して昨日の返信です 配送状況は、下記配達会社のWEBサイトにご確認いただけます。 3 2022/12/31 08:19
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- その他(ニュース・社会制度・災害) 【アイカサの傘のサービスについて】 拝島駅の西武線の改札前にアイカサのサービスの傘があるのをみて、詳 2 2022/05/24 14:14
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- クレジットカード なんていうんだろ。一言で言えば二重請求なんだけど、 3 2022/06/23 10:57
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
タグが閉じてないというエラー...
-
eclipseでのsvn認証エラー回避方法
-
構文エラーのやり直しについて
-
Javaのエラーについてです
-
JAVAを使ったメール送信が時々...
-
java.lang.StackOverflowErrort...
-
Eclipse デバッグ エラー処理
-
java.lang.StringIndexOutOfBou...
-
tomcat起動時エラー
-
S2daoのSqlファイルでのDBア...
-
Eclipseで次のエラー箇所にジャ...
-
eclipseでのライブラリの追加に...
-
(急募)Java 3回間違えたら強...
-
Javaでclass,interfaceまたはen...
-
演算子*はjava.lang.String.dou...
-
String型とchar型の変換エラーです
-
Oracle8i に接続しようと思うん...
-
eclipseをバージョンアップした...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseで、プロジェクト名のと...
-
シンボルが見つかりませんとい...
-
エラー:org.springframeworkが...
-
tomcat起動時エラー
-
Javaのエラーについてです
-
タグが閉じてないというエラー...
-
コンパイル時にエラーが出てし...
-
構文エラーのやり直しについて
-
eclipseをバージョンアップした...
-
eclipseでのsvn認証エラー回避方法
-
Eclipseで次のエラー箇所にジャ...
-
JBossについて
-
JSPの表示時エラー
-
「型 ArrayList は総称ではあり...
-
Win32コンソールアプリでnamesp...
-
Eclipseの環境について
-
致命的: StandardServer.await:...
-
javaw.exeプロセスが正常起動し...
-
getParameterについて
-
JSP内でString型からint型に変...
おすすめ情報