0

2 つの Web サービスに接続する Java Web クライアントを実装しています。基本的に、これら 2 つの Web サービスのステータスを一覧表示したテーブルがあります。例:

<table>
<tr>
<th>webservice</th>
<th>status</th>
</tr>
<tr>
<td>webservice 1</td>
<td>connected</td>
</tr>
<tr>
<td>webservice 2</td>
<td>connected</td>
</tr>
</table>

私のJavaコントローラー:

class test {

 @autowired
 private WebServiceTemplate webservice1;
 @autowired
 private WebServiceTemplate webservice2;

 public String mycontroller(...) {
  webserviceReq request = new ObjectFactory().createwebserviceReq();
  webserviceRes response = new ObjectFactory().createwebserviceRes();

 try {
  response = (webserviceRes)this.webservice1.marshalSendAndReceive(webserviceReq);
  //...set all the data
 }
 catch(Exception e) {

 }

 try {
  response = (webserviceRes)this.webservice2.marshalSendAndReceive(webserviceReq);
  //...set all the data
 }
 catch(Exception e) {

 }
 }//end of function
}

いずれかの Web サービスへの接続が失敗した場合 (Web サービスのクラッシュまたは wat の可能性があります)、ステータスを切断として表示します。

現在直面している問題は、いずれかの接続が失敗した場合、http ステータス 500 を取得し、要求処理が失敗した場合です。

各 Web サービスの接続エラーをキャプチャしてステータス列に出力するにはどうすればよいですか?

4

1 に答える 1

0

各ブロックで、特定のエラーを特定するためにcatch関連する部分を抽出します。Exception返された にそれらを追加しますString

Exceptionをキャッチするのではなく、Web サービスによって具体的にスローされるサブクラスをキャッチすることで、物事が簡単になる場合があります。これらには、関連するエラー情報が含まれている場合があります。

于 2013-07-11T10:29:14.053 に答える