com.arjuna.mw.wst11.client.WSTXFeature Maven / Gradle / Ivy
The newest version!
/*
Copyright The Narayana Authors
SPDX-License-Identifier: Apache-2.0
*/
package com.arjuna.mw.wst11.client;
import jakarta.xml.ws.BindingProvider;
import org.jboss.ws.api.configuration.AbstractClientFeature;
/**
* Web service feature is used to enable or disable WS-AT/WS-BA context propagation for specific port.
*
* @author Paul Robinson
* @author Gytis Trikleris
*/
public final class WSTXFeature extends AbstractClientFeature {
/**
* Key to store WSTXFeature's enabled/disabled value in SOAP header.
*/
public static final String REQUEST_CONTEXT_KEY = "WSTXFeature";
/**
* Value to indicate that WSTXFeature is enabled.
*/
public static final String ENABLED_VALUE = "true";
/**
* Value to indicate that WSTXFeature is disabled.
*/
public static final String DISABLED_VALUE = "false";
/**
* Default constructor creates instance of enabled WSTXFeature.
*/
public WSTXFeature() {
this(true);
}
/**
* Parametrised constructor creates either enabled or disabled WSTXFeature based on enabled
parameter.
*
* @param enabled true to create enabled WSTXFeature, false to create disabled WSTXFeature.
*/
public WSTXFeature(final boolean enabled) {
super(WSTXFeature.class.getName());
this.enabled = enabled;
}
/**
* Sets REQUEST_CONTEXT_KEY
value to ENABLED_VALUE
if WSTXFeature is enabled.
*
* Sets REQUEST_CONTEXT_KEY
value to DISABLED_VALUE
if WSTXFeature is disabled and
* REQUEST_CONTEXT_KEY
value was not already set by another feature.
*/
@Override
protected void initializeBindingProvider(BindingProvider bp) {
if (enabled) {
bp.getRequestContext().put(REQUEST_CONTEXT_KEY, ENABLED_VALUE);
} else {
if (!bp.getRequestContext().containsKey(REQUEST_CONTEXT_KEY)) {
// Disable handler only if another feature does not require it.
bp.getRequestContext().put(REQUEST_CONTEXT_KEY, DISABLED_VALUE);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy