アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

perlクライアントから、axisサーブレット(javaクラス)の呼出を行っています。
サーブレットであるエラーが発生したときに、例外を投げているのですが、
perlクライアント側でその例外をキャッチすることができません。

▼perlクライアント ---------------------------------------------
my $service = SOAP::Lite
-> uri('http://xxx/axis/services/TestService')
-> proxy('http://xxx/axis/services/TestService?wsdl');

$a = $service->Test( 0, 0 );

unless ( $a->fault ) {
print "Success\n"; # Exceptionが発生してもSuccessになる。
} else {
print "Error\n";
}

▼javaサーブレットクラス -------------------------------------
public class Test( int a, int b ) {

if ( a==0 || b==0 ) {
throw Exception( "testException" );
}


目的としては、サーブレットクラスの例外を取れればいいのですが、
根本的にやり方が間違っている場合もご指摘いただけると助かります。

A 回答 (1件)

SOAP::Lite->faultは通信自体の成功を見るためのもので、サーブレット側でExceptionが発生したかどうかを調べるためのものではありません。


Exceptionが発生したなら取得結果にエラーメッセージが書かれていると思われるのでそちらを見たらどうでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

上記コードで言いますと、
SOAP::Lite->faultとは、service->faultのことで、
取得結果のエラーは、a->faultのこと。

と認識しておりましたが、違いますでしょうか?
取得結果のエラーメッセージはどのように見るものでしょうか?

(取得結果自体はa->resultで取れました。)

お礼日時:2007/06/29 13:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!