Обработка ответов об ошибках из Spring WebServiceTemplate.marshalSendAndReceiveJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Обработка ответов об ошибках из Spring WebServiceTemplate.marshalSendAndReceive

Сообщение Anonymous »

Я работаю с методом Spring WebServiceTemplate.marshalSendAndReceive(Object, WebServiceMessageCallback) Spring, и мне очень сложно понять, как правильно обрабатывать ошибки. Прямо сейчас я вызываю службу SOAP, которая ответит следующим сообщением, если произошла внутренняя ошибка, если кто-то использовал тот же уникальный идентификатор.

Код: Выделить всё


BEA-380001
Internal Server Error


2014-01-22T10:39:56.056-06:00
An application already exists for ID [987654321].
500
com.package.package.exceptions.MyException: An application already exists for ID [987654321].
at com.package.package.endpoints.MyEndpoint.createObject(MyEndpoint.java:71)
at com.package.package.endpoints.MyEndpoint$$FastClassByCGLIB$$b46dae63.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
...More of this stack trace...
Однако это сообщение можно найти только при настройке ведения журнала org.springframework для отслеживания. Сообщение, которое на самом деле возвращается после моего вызова marshalSendAndReceive, представляет собой следующее гораздо более общее сообщение SoapFaultClientException.

Код: Выделить всё

   

SOAP-ENV:Client
Internal Server Error


2014-01-22T10:39:56.787-06:00
Internal Server Error
2
org.springframework.ws.soap.client.SoapFaultClientException: Internal Server Error
at org.springframework.ws.soap.client.core.SoapFaultMessageResolver.resolveFault(SoapFaultMessageResolver.java:37)
at org.springframework.ws.client.core.WebServiceTemplate.handleFault(WebServiceTemplate.java:776)
at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:602)
at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:539)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:386)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:380)
at com.package.package.package.adapters.MyAdapter.submitObject(MyAdapter.java:48)
Как я могу получить Body\Fault\details\Fault\FaultMessage из исходного ответа и выбросить его как исключение в свой адаптер??

Фактическое сообщение об ошибке из внутреннего запроса было бы гораздо полезнее, чем общее исключение SoapFaultClientException и трассировка стека.

Имена пакетов, классов и объектов были изменены с помощью поиска и замените для извлечения личных данных. Если имя пакета или класса кажется странным, вот почему.

Подробнее здесь: https://stackoverflow.com/questions/212 ... andreceive
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Обработка ответов об ошибках из Spring WebServiceTemplate.marshalSendAndReceive
    Anonymous » » в форуме JAVA
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Обработка ответов об ошибках из Spring WebServiceTemplate.marshalSendAndReceive
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Обработка откликов от Spring's WebserviceTemplate.marshalsendandReceive
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Обработка пустых и неизвестных ответов об ошибках при получении продуктов из iTunes Store
    Гость » » в форуме IOS
    0 Ответы
    62 Просмотры
    Последнее сообщение Гость
  • Обработка пустых и неизвестных ответов об ошибках при получении продуктов из iTunes Store
    Anonymous » » в форуме IOS
    0 Ответы
    38 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»