}
// try w3c version of ws-a first, then member submission version
final MessageHeaders headers = request.getMessage().getHeaders();
String action = AddressingUtils.getAction(headers, AddressingVersion.W3C, soapVersion);
AddressingVersion adVersion = AddressingVersion.W3C;
if (action == null) {
action = AddressingUtils.getAction(headers, AddressingVersion.MEMBER, soapVersion);
adVersion = AddressingVersion.MEMBER;
}
if (action != null) {
if (action.equals(GET_REQUEST)) {
final String toAddress = AddressingUtils.getTo(headers, adVersion, soapVersion);
return doReturnWith(processGetRequest(request, toAddress, adVersion));
} else if (action.equals(GET_MDATA_REQUEST)) {
final Message faultMessage = Messages.create(GET_MDATA_REQUEST,
adVersion, soapVersion);
return doReturnWith(request.createServerResponse(
faultMessage, adVersion, soapVersion,
adVersion.getDefaultFaultAction()));
}
}
return super.processRequest(request);
}