Search in sources :

Example 1 with RespectBindingFeature

use of jakarta.xml.ws.RespectBindingFeature 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 RespectBindingFeature

use of jakarta.xml.ws.RespectBindingFeature in project metro-jax-ws by eclipse-ee4j.

the class AddNumbersClient method createDispatchWithWSDL.

private Dispatch<SOAPMessage> createDispatchWithWSDL() throws Exception {
    MemberSubmissionAddressingFeature msAddressingFeature = new MemberSubmissionAddressingFeature(true);
    RespectBindingFeature respectBindingFeature = new RespectBindingFeature(true);
    WebServiceFeature[] features = new WebServiceFeature[] { msAddressingFeature, respectBindingFeature };
    AddNumbersService service = new AddNumbersService();
    return service.createDispatch(PORT_QNAME, SOAPMessage.class, Service.Mode.MESSAGE);
}
Also used : RespectBindingFeature(jakarta.xml.ws.RespectBindingFeature) WebServiceFeature(jakarta.xml.ws.WebServiceFeature) MemberSubmissionAddressingFeature(com.sun.xml.ws.developer.MemberSubmissionAddressingFeature)

Example 3 with RespectBindingFeature

use of jakarta.xml.ws.RespectBindingFeature in project metro-jax-ws by eclipse-ee4j.

the class AddNumbersClient method testBadActionWithWSDL.

public void testBadActionWithWSDL() throws Exception {
    try {
        RespectBindingFeature respectBindingFeature = new RespectBindingFeature(false);
        WebServiceFeature[] features = new WebServiceFeature[] { respectBindingFeature };
        Dispatch dispatch = createDispatchWithWSDL(features);
        BindingImpl binding = (BindingImpl) dispatch.getBinding();
        assertTrue(AddressingVersion.isEnabled(binding));
        WsaUtils.invoke(dispatch, WsaUtils.BAD_ACTION_MESSAGE, WsaUtils.S11_NS, WsaUtils.W3C_WSA_NS, getAddress(), W3CAddressingConstants.WSA_ANONYMOUS_ADDRESS);
        fail("SOAPFaultException must be thrown");
    } catch (SOAPFaultException sfe) {
        assertFault(sfe, W3CAddressingConstants.ACTION_NOT_SUPPORTED_QNAME);
    }
}
Also used : BindingImpl(com.sun.xml.ws.binding.BindingImpl) RespectBindingFeature(jakarta.xml.ws.RespectBindingFeature) WebServiceFeature(jakarta.xml.ws.WebServiceFeature) Dispatch(jakarta.xml.ws.Dispatch) SOAPFaultException(jakarta.xml.ws.soap.SOAPFaultException)

Example 4 with RespectBindingFeature

use of jakarta.xml.ws.RespectBindingFeature in project metro-jax-ws by eclipse-ee4j.

the class AddNumbersClient method testFaultToRefpsWithWSDL.

// bug RespectBindingFeature will turn off enabled features in the wsdl
// but not features that have been explicitly set by the client
public void testFaultToRefpsWithWSDL() throws Exception {
    try {
        MemberSubmissionAddressingFeature addressingFeature = new MemberSubmissionAddressingFeature(true);
        RespectBindingFeature bindingFeature = new RespectBindingFeature(false);
        WebServiceFeature[] features = new WebServiceFeature[] { addressingFeature, bindingFeature };
        Dispatch dispatch = createDispatchWithWSDL(features);
        BindingImpl binding = (BindingImpl) dispatch.getBinding();
        boolean enabled = AddressingVersion.isEnabled(binding);
        if (enabled) {
            System.out.println("Addressing is Enabled");
        } else {
            System.out.println("Addressing is disabled");
        }
        assertTrue(enabled == true);
        WsaUtils.invoke(dispatch, WsaUtils.FAULT_TO_REFPS_MESSAGE, WsaUtils.S11_NS, WsaUtils.W3C_WSA_NS, getAddress(), W3CAddressingConstants.WSA_ANONYMOUS_ADDRESS, W3CAddressingConstants.WSA_ANONYMOUS_ADDRESS, CORRECT_ACTION);
        fail("SOAPFaultException must be thrown");
    } catch (SOAPFaultException sfe) {
        assertTrue("Got SOAPFaultException", true);
    }
}
Also used : BindingImpl(com.sun.xml.ws.binding.BindingImpl) RespectBindingFeature(jakarta.xml.ws.RespectBindingFeature) WebServiceFeature(jakarta.xml.ws.WebServiceFeature) Dispatch(jakarta.xml.ws.Dispatch) SOAPFaultException(jakarta.xml.ws.soap.SOAPFaultException) MemberSubmissionAddressingFeature(com.sun.xml.ws.developer.MemberSubmissionAddressingFeature)

Aggregations

RespectBindingFeature (jakarta.xml.ws.RespectBindingFeature)4 WebServiceFeature (jakarta.xml.ws.WebServiceFeature)4 BindingImpl (com.sun.xml.ws.binding.BindingImpl)2 MemberSubmissionAddressingFeature (com.sun.xml.ws.developer.MemberSubmissionAddressingFeature)2 Dispatch (jakarta.xml.ws.Dispatch)2 SOAPFaultException (jakarta.xml.ws.soap.SOAPFaultException)2 ImpliesWebServiceFeature (com.sun.xml.ws.api.ImpliesWebServiceFeature)1 RuntimeModelerException (com.sun.xml.ws.model.RuntimeModelerException)1 RespectBinding (jakarta.xml.ws.RespectBinding)1 Addressing (jakarta.xml.ws.soap.Addressing)1 AddressingFeature (jakarta.xml.ws.soap.AddressingFeature)1 MTOM (jakarta.xml.ws.soap.MTOM)1 MTOMFeature (jakarta.xml.ws.soap.MTOMFeature)1