String clientAcceptedContentTypes = xmlSoapCodec.getMimeType() + ", " +
xmlMtomCodec.getMimeType() + ", " +
BASE_ACCEPT_VALUE;
WebServiceFeature fi = binding.getFeature(FastInfosetFeature.class);
isFastInfosetDisabled = (fi != null && !fi.isEnabled());
if (!isFastInfosetDisabled) {
fiSoapCodec = getFICodec(xmlSoapCodec, version);
if (fiSoapCodec != null) {
fiMimeType = fiSoapCodec.getMimeType();
fiSwaCodec = new SwACodec(version, binding, fiSoapCodec);
connegXmlAccept = fiMimeType + ", " + clientAcceptedContentTypes;
/**
* This feature will only be present on the client side.
*
* Fast Infoset is enabled on the client if the service
* explicitly supports Fast Infoset.
*/
WebServiceFeature select = binding.getFeature(SelectOptimalEncodingFeature.class);
if (select != null) { // if the client FI feature is set - ignore negotiation property
ignoreContentNegotiationProperty = true;
if (select.isEnabled()) {
// If the client's FI encoding feature is enabled, and server's is not disabled
if (fi != null) { // if server's FI feature also enabled
useFastInfosetForEncoding = true;
}