[ 
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)

Reply via email to