$server = SOAP::Transport::HTTP::Apache->new; $server->dispatch_with(...)
ここでは、JS ベースのアプリケーションへのバックエンドとしてを使用しています。基礎となるモジュールが停止すると、JS コードによって表示される適切なエラー メッセージが返されます。
問題は、より詳細なメッセージ (Carp::longmess など) と、STDERR にあるメッセージのハード コピーが欲しいことです。
最小限のコード変更でカスタム例外ハンドラーを SOAP::Transport::HTTP::Apache に挿入するにはどうすればよいですか?
(これは大規模で古いプロジェクトであり、書き直す余裕はありませんが、正直なところ、書き直す価値があります)。
更新: エラー メッセージの例を次に示します。
<soap:Body><soap:Fault>
<faultcode>soap:Server</faultcode><faultstring>Column
'allocation' cannot be null at
/usr/local/lib/perl5/site_perl/5.8.8/Tangram/Storage.pm
line 686. </faultstring></soap:Fault></soap:Body>
Tangram エラーが発生しますが、これは Tangram のバグである可能性は低く、とにかく完全なスタック トレースが必要です。OTOH、ダイメッセージは通常のダイアクションではないSOAPメッセージに入ったので、どこかにハンドラーがあります-少しカスタマイズしたいです。