2013-07-11 3 views
0

im реализует веб-клиент java, который соединяется с двумя веб-службами. поэтому в основном у меня есть таблица с указанием статуса этих двух веб-сервисов. Пример:Весна java mvc обработка ошибок

<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 
} 

, если подключение к любой веб-сервиса не удается (Mayb аварии webserivce или WAT), показывают статус отсоединен.

В настоящее время проблема, с которой сталкивается проблема, заключается в том, что если одно соединение завершается неудачно, им удается получить статус http 500, обработка запроса не удалась.

Как я могу зафиксировать отказ соединения для каждого веб-сервиса и распечатать его в столбце состояния?

+1

Это зависит от того, как вы сейчас проверяете подключение к веб-сервису. Можете ли вы показать соответствующие фрагменты кода? – mthmulders

+1

В настоящее время я использую try и catch, но я не уверен, как выбросить ошибку с контроллера для просмотра. – nuttynibbles

+1

Я обновил свои вопросы с помощью java-кодов. надеюсь, его немного яснее, как я это делаю. – nuttynibbles

ответ

0

В каждом из блоков catch извлеките соответствующие части Exception, чтобы определить конкретную ошибку. Добавьте их в возвращаемый String.

Возможно, вам станет легче, если вы не поймаете Exception, а подкласс, специально созданный веб-службами. Они могут содержать соответствующую информацию об ошибках.

Смежные вопросы