JaxWS - Чего мне не хватает, чтобы отправить файл вложения? - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть внешняя служба, предоставляемая сторонней организацией.Мы отправляем запросы SOAP, и мы должны отправить вложение к этой конкретной услуге.И я застрял на этапе отправки.Я пропустил шаг во время создания моего вложения?

Вот мой текущий код:

// The parameter is the ID of the attachment in the SOAP request
ClientServiceRequest request = buildRequest("sample.xml");

// Getting the binding from the external service and enabling MTOM
BindingProvider bindingProvider = (BindingProvider) externalServiceInterface;
SOAPBinding binding = (SOAPBinding) bindingProvider.getBinding();
binding.setMTOMEnabled(true);

SOAPMessage soapMessage = binding.getMessageFactory().createMessage();

// That is the sample data I try to send. I also tried turning int
// into a File, without success in sending it.
String xml = "<html><title>coucou</title><body><p>Hey</p></body></html>";

AttachmentPart part = soapMessage.createAttachmentPart();
part.setContentId("sample.xml");
part.setContent(xml, "application/xml");

soapMessage.addAttachmentPart(part);

// It does not change anything, but was worth a shot
soapMessage.saveChanges();

ClientServiceResponse response = externalServiceInterface.sendRequest(request);

На данный момент, запрос отправляется правильно, но без каких-либо вложений.Я чувствую, что что-то пропустил, маленький шаг, чтобы связать SOAPMessage с запросом, или наоборот, но я не вижу что.Я много искал, но безуспешно.

Чего не хватает в этом фрагменте кода, чтобы отправить вложение с запросом во внешнюю службу?

...