
com.arjuna.mw.wst11.client.WSTXFeature Maven / Gradle / Ivy
/*
* JBoss, Home of Professional Open Source
* Copyright 2013, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags.
* See the copyright.txt in the distribution for a full listing
* of individual contributors.
* This copyrighted material is made available to anyone wishing to use,
* modify, copy, or redistribute it subject to the terms and conditions
* of the GNU Lesser General Public License, v. 2.1.
* This program is distributed in the hope that it will be useful, but WITHOUT A
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License,
* v.2.1 along with this distribution; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
* (C) 2005-2006,
* @author JBoss Inc.
*/
package com.arjuna.mw.wst11.client;
import javax.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