[
https://issues.apache.org/jira/browse/CXF-8587?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ilya Mikhailov updated CXF-8587:
--------------------------------
Description:
It seems like we don't need to check the schema enabled flag and get schema on
every iteration for a SoapHeder.
{code:java}
for (SoapHeaderInfo header : headers) {
MessagePartInfo mpi = header.getPart();
try {
if (ServiceUtils.isSchemaValidationEnabled(SchemaValidationType.IN,
message)) {
Schema schema =
EndpointReferenceUtils.getSchema(service.getServiceInfos().get(0), message
.getExchange().getBus());
validateHeader(message, mpi, schema);
}
} catch (Fault f) {
if (!isRequestor(message)) {
f.setFaultCode(Fault.FAULT_CODE_CLIENT);
}
throw f;
}
...
}{code}
Removing these actions outside of the loop can provide a slight performance
improvement if multiple headers are present in a request.
was:
It seems like we don't need to check the schema enabled flag and get schema on
every iteration for a SoapHeder.
{code:java}
for (SoapHeaderInfo header : headers) {
MessagePartInfo mpi = header.getPart();
try {
if (ServiceUtils.isSchemaValidationEnabled(SchemaValidationType.IN,
message)) {
Schema schema =
EndpointReferenceUtils.getSchema(service.getServiceInfos().get(0), message
.getExchange().getBus());
validateHeader(message, mpi, schema);
}
} catch (Fault f) {
if (!isRequestor(message)) {
f.setFaultCode(Fault.FAULT_CODE_CLIENT);
}
throw f;
}
...
}{code}
Removing these actions outside of the loop can provide a slight performance
improvement if multiple headers are present in the request.
> Don't check the validation flag and get the schema on every iteration for
> SoapHeader
> ------------------------------------------------------------------------------------
>
> Key: CXF-8587
> URL: https://issues.apache.org/jira/browse/CXF-8587
> Project: CXF
> Issue Type: Improvement
> Components: Soap Binding
> Affects Versions: 3.4.4
> Reporter: Ilya Mikhailov
> Priority: Minor
>
> It seems like we don't need to check the schema enabled flag and get schema
> on every iteration for a SoapHeder.
> {code:java}
> for (SoapHeaderInfo header : headers) {
> MessagePartInfo mpi = header.getPart();
> try {
> if (ServiceUtils.isSchemaValidationEnabled(SchemaValidationType.IN,
> message)) {
> Schema schema =
> EndpointReferenceUtils.getSchema(service.getServiceInfos().get(0), message
>
> .getExchange().getBus());
> validateHeader(message, mpi, schema);
> }
> } catch (Fault f) {
> if (!isRequestor(message)) {
> f.setFaultCode(Fault.FAULT_CODE_CLIENT);
> }
> throw f;
> }
> ...
> }{code}
> Removing these actions outside of the loop can provide a slight performance
> improvement if multiple headers are present in a request.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)