До этого я использовал SOAPHandler< SOAPMessageContext >
для обработки данных из веб-сервиса. Код выглядит следующим образом:
public class MyBillSoapMessageHandler implements
SOAPHandler< SOAPMessageContext > {
@Override
public boolean handleMessage(SOAPMessageContext context) {
// This following line something will hit out of memory
SOAPMessage message = context.getMessage( );
// some other code continue...
}
}
Я попробовал погуглить и прочитал что-то по этой ссылке: JAX-WS SoapHandler с большими сообщениями : OutOfMemoryError
Насколько я понимаю, пользователь MessageHandlerContext
лучше, чем SOAPMessageContext
, поэтому я пытаюсь изменить его, чтобы он стал:
public class MyBillSoapMessageHandler implements
MessageHandler< MessageHandlerContext > {
@Override
public boolean handleMessage(MessageHandlerContext context) {
//... code here ...//
}
}
Однако, когда я запускаю его, я нажимаю:
Причина: javax.xml.ws.soap.SOAPFaultException: обработчик com.mybill.ws.camel.MyBillSoapMessageHandler не должен напрямую реализовывать интерфейс javax.xml.ws.handler.Handler.
Я не уверен, почему я получаю эту ошибку. Есть ли причина, по которой это происходит из-за того, что мой сервер не использует MessageHandlerContext
?
Добрый совет.