protected boolean hasSwaRef(JAXBDataBinding db) { JAXBContext context = db.getContext(); return callSWARefMethod(context); }
public void handleMessage(SoapMessage message) throws Fault { Exchange ex = message.getExchange(); BindingOperationInfo bop = ex.getBindingOperationInfo(); if (bop == null) { return; } if (bop.isUnwrapped()) { bop = bop.getWrappedOperation(); } boolean client = isRequestor(message); BindingMessageInfo bmi = client ? bop.getInput() : bop.getOutput(); if (bmi == null) { return; } SoapBodyInfo sbi = bmi.getExtensor(SoapBodyInfo.class); if (sbi == null || sbi.getAttachments() == null || sbi.getAttachments().isEmpty()) { Service s = ex.getService(); DataBinding db = s.getDataBinding(); if (db instanceof JAXBDataBinding && hasSwaRef((JAXBDataBinding) db)) { setupAttachmentOutput(message); } return; } processAttachments(message, sbi); } protected void processAttachments(SoapMessage message, SoapBodyInfo sbi) {
soapHandlerInterceptor = new SOAPHandlerInterceptor(jaxwsBinding); in.add(new SwAInInterceptor()); getOutInterceptors().add(new SwAOutInterceptor()); if (isProvider && mode == Mode.MESSAGE) { in.add(new SAAJInInterceptor());
protected void processAttachments(SoapMessage message, SoapBodyInfo sbi) { Collection<Attachment> atts = setupAttachmentOutput(message); List<Object> outObjects = CastUtils.cast(message.getContent(List.class)); dh = new DataHandler(createDataSource((Source)o, ct)); } else if (o instanceof Image) { final Image img = (Image)o; if ("text/xml".equals(ct) && dh.getContent() instanceof Source) { dh = new DataHandler(createDataSource((Source)dh.getContent(), ct));
public static void enableSoapClientOutputAttachments(JaxWsProxyFactoryBean pfb){ Map<String,Object> props = new HashMap<String, Object>(); props.put(AttachmentOutInterceptor.WRITE_ATTACHMENTS, Boolean.TRUE); pfb.setProperties(props); pfb.getOutInterceptors().add(new SwAOutInterceptor()); pfb.getOutInterceptors().add(new AttachmentOutInterceptor()); }
protected void processAttachments(SoapMessage message, SoapBodyInfo sbi) { Collection<Attachment> atts = setupAttachmentOutput(message); List<Object> outObjects = CastUtils.cast(message.getContent(List.class)); dh = new DataHandler(createDataSource((Source)o, ct)); } else if (o instanceof Image) { final Image img = (Image)o; if ("text/xml".equals(ct) && dh.getContent() instanceof Source) { dh = new DataHandler(createDataSource((Source)dh.getContent(), ct));
public void handleMessage(SoapMessage message) throws Fault { Exchange ex = message.getExchange(); BindingOperationInfo bop = ex.getBindingOperationInfo(); if (bop == null) { return; } if (bop.isUnwrapped()) { bop = bop.getWrappedOperation(); } boolean client = isRequestor(message); BindingMessageInfo bmi = client ? bop.getInput() : bop.getOutput(); if (bmi == null) { return; } SoapBodyInfo sbi = bmi.getExtensor(SoapBodyInfo.class); if (sbi == null || sbi.getAttachments() == null || sbi.getAttachments().isEmpty()) { Service s = ex.getService(); DataBinding db = s.getDataBinding(); if (db instanceof JAXBDataBinding && hasSwaRef((JAXBDataBinding) db)) { setupAttachmentOutput(message); } return; } processAttachments(message, sbi); } protected void processAttachments(SoapMessage message, SoapBodyInfo sbi) {
soapHandlerInterceptor = new SOAPHandlerInterceptor(jaxwsBinding); in.add(new SwAInInterceptor()); getOutInterceptors().add(new SwAOutInterceptor()); if (isProvider && mode == Mode.MESSAGE) { in.add(new SAAJInInterceptor());
protected boolean hasSwaRef(JAXBDataBinding db) { JAXBContext context = db.getContext(); return callSWARefMethod(context); }