2016-02-25 3 views
1

Пожалуйста, дайте мне знать, как сбрасывать пользовательские ошибки SOAP с активаторов услуг в интеграцию с весной. Если у меня есть активатор службы для errorChannel, каково должно быть возвращаемое значение из метода обработки?Пользовательские ошибки SOAP при интеграции с весной

ответ

0

Модуль интеграции Spring Spring полностью основан на проекте Spring WS. Лучший способ удовлетворить ваши требования - следовать стандартным подходам оттуда: http://docs.spring.io/spring-ws/docs/current/reference/html/server.html#server-endpoint-exception-resolver.

Я бы следил за чем-то вроде @SoapFault в отношении какого-то исключения бизнеса и вообще не беспокоился об ошибке-канале!

+0

Привет, у меня есть точка. Но смогу ли я настроить faultStringOrReason на лету. Например, ниже мой класс ошибки мыла @SoapFault (faultCode = FaultCode.CUSTOM, customFaultCode = "{namespace} Ошибка сервера", faultStringOrReason = "Ошибка при обработке запроса на сообщение.") Открытый класс SystemFault расширяет BusinessException {}. То, что я с нетерпением жду, это: а) если вызывается новый SystemFault(), то строка с ошибкой должна быть «Ошибка при обработке запроса на сообщение». , Если я выкидываю новый SystemFault («пользовательское сообщение»), faultstring должно быть «пользовательским сообщением» –

+0

Ну, для этой цели я предполагаю, что вы должны реализовать свой собственный «AbstractSoapFaultDefinitionExceptionResolver» и решить, что разместить в «SoapFaultDefinitionEditor» самостоятельно. Подробнее см. «SoapFaultMappingExceptionResolver». –

+0

Привет, Артем .. Получил работу. Еще один вопрос. В случае пользовательского кода неисправности есть ли способ указать пространство имен? если я укажу пространство имен, код ошибки будет следующим, код ошибки <.faultcode>. Но как я должен помешать xmlns печатать вместе с кодом ошибки? –

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