• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:例外のキャッチ方法)

例外のキャッチ方法

このQ&Aのポイント
  • perlクライアントからJavaのサーブレットを呼び出す際に、発生したエラーをキャッチする方法について教えてください。
  • perlクライアントからSOAP::Liteモジュールを使用し、Javaのサーブレットを呼び出しています。サーブレットで例外が発生した場合、perlクライアントでその例外をキャッチする方法を教えてください。
  • perlクライアントからSOAP::Liteモジュールを使用し、Javaのサーブレットを呼び出しています。サーブレットで例外が発生した場合の処理方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • bgbg
  • ベストアンサー率53% (94/175)
回答No.2

当方の環境では取得できますが・・・ ActivePerl v5.6.1 SOAP::Lite v0.55 Apache axis v1.4 JDK 1.5.0_12 --- perlソース --- use SOAP::Lite; use Data::Dumper; my $service = SOAP::Lite -> uri('http://localhost:8080/axis') -> proxy('http://localhost:8080/axis/Hello.jws') ; $result = $service->sayHello(); if($result->fault){ print STDERR $result->faultstring; } --- javaソース --- import java.lang.Exception; public class Hello{ public String sayHello() throws Exception{ throw new Exception(); return "Hello!"; } ※axisは http://muimi.com/j/axis/ を参考にセットアップしています。

mozori01
質問者

お礼

度々のご回答ありがとうございます。 現状のシステムではうまくいかないため、別の原因があるかもしれません。 (少々複雑なつくりになっているので・・) とりあえずHelloWorldなど、簡易環境を作ってみて試行してみたいと思います。

その他の回答 (1)

  • bgbg
  • ベストアンサー率53% (94/175)
回答No.1

$result->fault $result->faultcode $result->faultstring で例外の種類、メッセージが取れませんか? クライアントによりfaultがうまく取得できないことがあるようなので、サーバ側で例外をキャッチしたら例外用レスポンスを自前で作るほうが安全だとは思いますが。

参考URL:
http://www-06.ibm.com/jp/developerworks/webservices/010914/j_ws-cgia.shtml
mozori01
質問者

お礼

ご回答ありがとうございます。 ご指摘の方法ですと、通信エラー(無効サーバや回線切断)などは キャッチできるのですが、サーバが吐き出すExceptionは無視されてしまいます。 クライアントにより・・というのに関係があるのでしょうか・・。

関連するQ&A

専門家に質問してみよう