Мыльный клиент отправляет запрос на мыло с MIMP-приложением MIMLIPART, используя SAAJ.
Теперь мне нужно написать SOAP-сервер и использовать вложение MIME, а затем просто ответить клиенту с тем же вложением MIME, отправленным клиентом.
Я написал тогда мыльный веб-сервис, используя ось Apache, как показано ниже:
public SOAPMessage getRequest(Job transJob) {
MessageContext msgConetext = MessageContext.getCurrentContext();
SOAPMessage message = msgConetext.getRequestMessage();
SOAPMessage response = constructResponse(message);
return response;
}
Приведенная выше конечная точка веб-службы вызывает метод constructResponse, создает объект soapmessage и добавляет вложение.
Я получаю следующую ошибку:
Aug 31, 2018 5:42:45 PM org.apache.axis.attachments.AttachmentsImpl
getAttachmentCount
WARNING: Exception:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.io.IOException: java.lang.IllegalArgumentException: object
is not an instance of declaring class
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.io.IOException:
java.lang.IllegalArgumentException: object is not an instance of declaring class
at
org.apache.axis.encoding.ser.BeanSerializer.serialize
(BeanSerializer.java:275)
at
org.apache.axis.encoding.SerializationContext.serializeActual
(SerializationContext.java:1504)
Я думаю, что объект SOAPmessage не сериализован, поэтому возникает ошибка.
Но как отправить объект сообщения мыла как ответ с вложением?