i have implemented a provider based jax-ws service (wsdl first approach) 

@ServiceMode(value = Service.Mode.PAYLOAD)
@WebServiceProvider(wsdlLocation = "KompositService_2.",...)
@MTOM(enabled = true)
public class MyService implements Provider<Source> {

And  my "invoke" method looks similar to:

Source invoke(Source source) {
  MyRequest req = jaxbContext.createUnmarshaller().unmarshal(source, ..)
  MyResponse resp = ....
  return JAXBSource(jaxbContext.createMarshaller(), resp);

But now i want to attach binary data not inline but with mtom/xop.

After adding the the @MTOM annotation i got multipart response, but only 
with single part. The binary data is still inline.

(Content-Type: multipart/related; type="application/xop+xml",...)

I can't find something in the docs for this topic, therefore i did some 
try and error...

I've tried to add an AttachmentMarshaller to my JAXB-Marshaller:

marshaller.setAttachmentMarshaller(new JAXBAttachmentMarshaller(new 
ArrayList<>(), null));

After this i got no inline data anymore but the correct
<xop:Include href="cid:...> reference.

But still only one part was written to the multipart response. No 
further binary-attachment added.

Whats wrong here? 
How do i get my attachments written to the multipart response?


Reply via email to