public boolean isMTOMEnabled() { if (isMTOMEnabledCache != null) { return isMTOMEnabledCache.booleanValue(); } // isMTOMEnabled is a combination of the @BindingType and the @MTOM setting. MTOM mtomAnnotation = (MTOM) getAnnoFeature(MTOMFeature.ID); // If the @MTOM annotation is set, it wins if (mtomAnnotation != null) { isMTOMEnabledCache = Boolean.valueOf(mtomAnnotation.enabled()); return isMTOMEnabledCache.booleanValue(); } // Else look at the bindingType String bindingType = getBindingType(); isMTOMEnabledCache = Boolean.valueOf(isMTOMBinding(bindingType)); return isMTOMEnabledCache.booleanValue(); }
protected boolean isMtomEnabled(Class<?> beanClass) { BindingType bindingType = (BindingType)beanClass.getAnnotation(BindingType.class); MTOM mtom = (MTOM)beanClass.getAnnotation(MTOM.class); boolean mtomEnabled = mtom != null && mtom.enabled(); if (!mtomEnabled && bindingType != null) { String binding = bindingType.value(); mtomEnabled = binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING) || binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING); } return mtomEnabled; }
public void configure(EndpointDescription endpointDescription) { MTOM mtomAnnoation = (MTOM) ((EndpointDescriptionJava) endpointDescription).getAnnoFeature(MTOMFeature.ID); AxisService service = endpointDescription.getAxisService(); //Disable MTOM Parameter enableMTOM = new Parameter(Constants.Configuration.ENABLE_MTOM, Boolean.FALSE); Parameter threshold = new Parameter(Constants.Configuration.MTOM_THRESHOLD, 0); if (mtomAnnoation == null) { throw ExceptionFactory. makeWebServiceException(Messages.getMessage("mtomAnnotationErr")); } //Enable MTOM. if (mtomAnnoation.enabled()) { if (log.isDebugEnabled()) { log.debug("Enabling MTOM via annotation."); } enableMTOM.setValue(Boolean.TRUE); } //Set the threshold value. if (mtomAnnoation.threshold() > 0) { if (log.isDebugEnabled()) { log.debug("Setting MTOM threshold to [" + mtomAnnoation.threshold() + "]."); } threshold.setValue(mtomAnnoation.threshold()); } try { service.addParameter(enableMTOM); service.addParameter(threshold); } catch (Exception e) { throw ExceptionFactory.makeWebServiceException(Messages.getMessage("mtomEnableErr"), e); } }
private void configMtomAnnotation(final Class<?> clazz, final PortComponent portComponent) { final MTOM mtom = clazz.getAnnotation(MTOM.class); if (mtom != null) { if (portComponent.getEnableMtom() == null) { portComponent.setEnableMtom(mtom.enabled()); } if (portComponent.getMtomThreshold() == null) { portComponent.setMtomThreshold(mtom.threshold()); } } }
/** * * creates an instance of RunTimeModeler given a <code>sei</code> and <code>binding</code> * @param portClass The SEI class to be modeled. * @param serviceName The ServiceName to use instead of one calculated from the implementation class * @param wsdlPort {@link com.sun.xml.internal.ws.api.model.wsdl.WSDLPort} * @param features web service features */ /*public RuntimeModeler(@NotNull Class portClass, @NotNull QName serviceName, @NotNull WSDLPortImpl wsdlPort, @NotNull WebServiceFeature... features){ this(portClass, serviceName, wsdlPort, wsdlPort.getBinding().getBindingId(), features); }*/ /*private RuntimeModeler(@NotNull Class portClass, @NotNull QName serviceName, WSDLPortImpl binding, BindingID bindingId, @NotNull WebServiceFeature... features) { this.portClass = portClass; this.serviceName = serviceName; this.binding = binding; this.bindingId = bindingId; this.features = features; }*/ public RuntimeModeler(@NotNull DatabindingConfig config){ this.portClass = (config.getEndpointClass() != null)? config.getEndpointClass() : config.getContractClass(); this.serviceName = config.getMappingInfo().getServiceName(); this.binding = config.getWsdlPort(); this.classLoader = config.getClassLoader(); this.portName = config.getMappingInfo().getPortName(); this.config = config; this.wsBinding = config.getWSBinding(); metadataReader = config.getMetadataReader(); targetNamespace = config.getMappingInfo().getTargetNamespace(); if (metadataReader == null) metadataReader = new ReflectAnnotationReader(); if (wsBinding != null) { this.bindingId = wsBinding.getBindingId(); if (config.getFeatures() != null) wsBinding.getFeatures().mergeFeatures(config.getFeatures(), false); if (binding != null) wsBinding.getFeatures().mergeFeatures(binding.getFeatures(), false); this.features = WebServiceFeatureList.toList(wsBinding.getFeatures()); } else { this.bindingId = config.getMappingInfo().getBindingID(); this.features = WebServiceFeatureList.toList(config.getFeatures()); if (binding != null) bindingId = binding.getBinding().getBindingId(); if (bindingId == null) bindingId = getDefaultBindingID(); if (!features.contains(MTOMFeature.class)) { MTOM mtomAn = getAnnotation(portClass, MTOM.class); if (mtomAn != null) features.add(WebServiceFeatureList.getFeature(mtomAn)); } if (!features.contains(com.oracle.webservices.internal.api.EnvelopeStyleFeature.class)) { com.oracle.webservices.internal.api.EnvelopeStyle es = getAnnotation(portClass, com.oracle.webservices.internal.api.EnvelopeStyle.class); if (es != null) features.add(WebServiceFeatureList.getFeature(es)); } this.wsBinding = bindingId.createBinding(features); } }
@Override public Class<? extends Annotation> annotationType() { return MTOM.class; }
public Class<? extends Annotation> annotationType() { return MTOM.class; }