Search in sources :

Example 1 with RuntimeModelerException

use of com.sun.xml.ws.model.RuntimeModelerException in project metro-jax-ws by eclipse-ee4j.

the class WebServiceFeatureList method getFeature.

/**
 * Returns a corresponding feature for a feature annotation(i.e which has
 * {@link WebServiceFeatureAnnotation} meta annotation)
 *
 * @return corresponding feature for the annotation
 *         null, if the annotation is nota feature annotation
 */
public static WebServiceFeature getFeature(Annotation a) {
    WebServiceFeature ftr = null;
    if (!(a.annotationType().isAnnotationPresent(WebServiceFeatureAnnotation.class))) {
        ftr = null;
    } else if (a instanceof Addressing) {
        Addressing addAnn = (Addressing) a;
        try {
            ftr = new AddressingFeature(addAnn.enabled(), addAnn.required(), addAnn.responses());
        } catch (NoSuchMethodError e) {
            // throw error. We can't default to Responses.ALL as we dont know if the user has not used 2.2 annotation with responses.
            throw new RuntimeModelerException(ModelerMessages.RUNTIME_MODELER_ADDRESSING_RESPONSES_NOSUCHMETHOD(toJar(Which.which(Addressing.class))));
        }
    } else if (a instanceof MTOM) {
        MTOM mtomAnn = (MTOM) a;
        ftr = new MTOMFeature(mtomAnn.enabled(), mtomAnn.threshold());
    } else if (a instanceof RespectBinding) {
        RespectBinding rbAnn = (RespectBinding) a;
        ftr = new RespectBindingFeature(rbAnn.enabled());
    } else {
        ftr = getWebServiceFeatureBean(a);
    }
    return ftr;
}
Also used : MTOM(jakarta.xml.ws.soap.MTOM) AddressingFeature(jakarta.xml.ws.soap.AddressingFeature) MTOMFeature(jakarta.xml.ws.soap.MTOMFeature) RespectBindingFeature(jakarta.xml.ws.RespectBindingFeature) ImpliesWebServiceFeature(com.sun.xml.ws.api.ImpliesWebServiceFeature) WebServiceFeature(jakarta.xml.ws.WebServiceFeature) RespectBinding(jakarta.xml.ws.RespectBinding) RuntimeModelerException(com.sun.xml.ws.model.RuntimeModelerException) Addressing(jakarta.xml.ws.soap.Addressing)

Example 2 with RuntimeModelerException

use of com.sun.xml.ws.model.RuntimeModelerException in project metro-jax-ws by eclipse-ee4j.

the class DynamicExceptionMappingTest method testNegativeDynamicExceptionMapping.

public void testNegativeDynamicExceptionMapping() throws Exception {
    int port = Util.getFreePort();
    String address = "http://localhost:" + port + "/hello";
    Endpoint endpoint = Endpoint.create(new NegativeEchoImpl());
    try {
        endpoint.publish(address);
        fail("Should have thrown exception");
    } catch (RuntimeModelerException e) {
        assertTrue(e.getMessage().contains("Oneway operation should not throw any checked exceptions"));
    } finally {
        endpoint.stop();
    }
}
Also used : Endpoint(jakarta.xml.ws.Endpoint) RuntimeModelerException(com.sun.xml.ws.model.RuntimeModelerException) Endpoint(jakarta.xml.ws.Endpoint)

Example 3 with RuntimeModelerException

use of com.sun.xml.ws.model.RuntimeModelerException in project metro-jax-ws by eclipse-ee4j.

the class WebServiceFeatureList method parseAnnotations.

/**
 * @param endpointClass web service impl class
 */
public void parseAnnotations(Class<?> endpointClass) {
    for (Annotation a : endpointClass.getAnnotations()) {
        WebServiceFeature ftr = getFeature(a);
        if (ftr != null) {
            if (ftr instanceof MTOMFeature) {
                // check conflict with @BindingType
                BindingID bindingID = BindingID.parse(endpointClass);
                MTOMFeature bindingMtomSetting = bindingID.createBuiltinFeatureList().get(MTOMFeature.class);
                if (bindingMtomSetting != null && bindingMtomSetting.isEnabled() ^ ftr.isEnabled()) {
                    throw new RuntimeModelerException(ModelerMessages.RUNTIME_MODELER_MTOM_CONFLICT(bindingID, ftr.isEnabled()));
                }
            }
            add(ftr);
        }
    }
}
Also used : MTOMFeature(jakarta.xml.ws.soap.MTOMFeature) ImpliesWebServiceFeature(com.sun.xml.ws.api.ImpliesWebServiceFeature) WebServiceFeature(jakarta.xml.ws.WebServiceFeature) RuntimeModelerException(com.sun.xml.ws.model.RuntimeModelerException) BindingID(com.sun.xml.ws.api.BindingID) FeatureListValidatorAnnotation(com.sun.xml.ws.api.FeatureListValidatorAnnotation) Annotation(java.lang.annotation.Annotation) WebServiceFeatureAnnotation(jakarta.xml.ws.spi.WebServiceFeatureAnnotation)

Aggregations

RuntimeModelerException (com.sun.xml.ws.model.RuntimeModelerException)3 ImpliesWebServiceFeature (com.sun.xml.ws.api.ImpliesWebServiceFeature)2 WebServiceFeature (jakarta.xml.ws.WebServiceFeature)2 MTOMFeature (jakarta.xml.ws.soap.MTOMFeature)2 BindingID (com.sun.xml.ws.api.BindingID)1 FeatureListValidatorAnnotation (com.sun.xml.ws.api.FeatureListValidatorAnnotation)1 Endpoint (jakarta.xml.ws.Endpoint)1 RespectBinding (jakarta.xml.ws.RespectBinding)1 RespectBindingFeature (jakarta.xml.ws.RespectBindingFeature)1 Addressing (jakarta.xml.ws.soap.Addressing)1 AddressingFeature (jakarta.xml.ws.soap.AddressingFeature)1 MTOM (jakarta.xml.ws.soap.MTOM)1 WebServiceFeatureAnnotation (jakarta.xml.ws.spi.WebServiceFeatureAnnotation)1 Annotation (java.lang.annotation.Annotation)1