0

$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メッセージに入ったので、どこかにハンドラーがあります-少しカスタマイズしたいです。

4

1 に答える 1

0

エラー ハンドラは の下にありSOAP::Transport::HTTP::Server::_output_soap_faultます。<faultcode>perl INC パスでgrep を試してください。

于 2011-03-17T13:50:37.827 に答える