У меня есть внешняя служба, предоставляемая сторонней организацией.Мы отправляем запросы 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 с запросом, или наоборот, но я не вижу что.Я много искал, но безуспешно.
Чего не хватает в этом фрагменте кода, чтобы отправить вложение с запросом во внешнюю службу?