saravanakumar1987 opened a new pull request, #29725:
URL: https://github.com/apache/camel/pull/29725

   # Description
   
   Part of [CAMEL-23832](https://issues.apache.org/jira/browse/CAMEL-23832).
   
   Follow-up to #29655: covers both notes of its review (the automatic PAYLOAD 
case of `skipPayloadMessagePartCheck`, and the `defaultBus` and 
`cxfRsConfigurer` texts of `camel-cxf-rest`).
   
   This pull request covers the options and headers of `camel-cxf` (scheme 
`cxf`) and `camel-cxf-rest` (scheme `cxfrs`). It does not complete the ticket, 
so please keep the ticket open.
   
   Only description text changes. No option or header is added, removed or 
renamed, and no default value, label or type changes.
   
   The new texts are in the `description` attribute of the annotations 
(`@UriParam` and `@UriPath` on the endpoint options, `@Metadata` on the 
component options and the header constants), and the setter Javadoc that 
carried the old texts is removed (for `loggingFeatureEnabled` of cxfrs it was 
the getter Javadoc).
   
   Every text was checked against the Camel source and the CXF 4.2.4 sources, 
the version set by `cxf-version` in `parent/pom.xml`.
   
   The generated default false of `allowStreaming` and `wrappedStyle` is not 
what applies when these options are not set; the texts say what applies, and 
the metadata is not changed here.
   
   ## cxf
   
   | Option or header | Problem in the current text |
   |---|---|
   | `allowStreaming` (component option) | It does not say what applies when 
the option is not set (the generated JSON shows the default false, but the code 
allows streaming) and not how the component option and the endpoint option work 
together. |
   | `useGlobalSslContextParameters` (component option) | It does not say that 
only the producer uses the global parameters, and only for endpoints that have 
no sslContextParameters. |
   | `synchronous` (component option) | It does not say what the option does on 
each side; the consumer reads it too, although the label is producer. |
   | `beanId` (endpoint path option) | It has a grammar error (Must used) and 
does not say where the bean is looked up or what happens to the options of the 
endpoint URI. |
   | `address` (endpoint path option) | The word publish names only the use by 
the consumer; the producer sends its requests to this address, and a header can 
replace it. |
   | `bindingId` (endpoint option) | It repeats the option name and does not 
say what a value looks like or what applies when the option is not set. |
   | `defaultOperationName` (endpoint option) | It uses operationName, the 
value of the header before 4.21 (now CamelCxfOperationName), and does not say 
that the header replaces the option or what happens when neither is set. |
   | `defaultOperationNamespace` (endpoint option) | It uses 
operationNamespace, the value of the header before 4.21 (now 
CamelCxfOperationNamespace), and does not say that the header replaces the 
option or what happens when neither is set. |
   | `wrapped` (endpoint option) | It is not a sentence and does not say what 
true and false do. |
   | `sslContextParameters` (endpoint option) | It names the SSL Context 
although the type is SSLContextParameters, and does not say what the option is 
used for or which side uses it. |
   | `wrappedStyle` (endpoint option) | It has a spelling error (chose, twice) 
and does not say what applies when the option is not set, while the generated 
JSON shows the default false. |
   | `allowStreaming` (endpoint option) | It does not say what applies when the 
option is not set (the generated JSON shows the default false, but the code 
allows streaming). |
   | `loggingSizeLimit` (endpoint option) | It is not grammatical (total size 
of number of bytes) and does not say what is limited. |
   | `mtomEnabled` (endpoint option) | The second sentence is wrong: the option 
is applied for every dataFormat, the doc page documents MTOM for CXF_MESSAGE, 
and only RAW does not use it. |
   | `muteException` (endpoint option) | The build removes the `@` of 
`@WebFault` in the Javadoc, so the published text reads an exception annotated 
WebFault, and the text does not name the CxfPayload with a soap:Fault, which 
the code treats in the same way. |
   | `mergeProtocolHeaders` (endpoint option) | It does not say what merging 
does (the words more consistent and similar describe no behaviour) and points 
to a JIRA key for the details. |
   | `continuationTimeout` (endpoint option) | It does not say what the timeout 
limits or what happens when it expires, and it opens with filler (This option 
is used to). |
   | `synchronous` (endpoint option) | It does not say what the option does on 
each side; the consumer reads it too, although the label is producer. |
   | `skipPayloadMessagePartCheck` (endpoint option) | The text does not say 
that the option is also enabled automatically. |
   | `schemaValidationEnabled` (endpoint option) | It does not say what is 
validated against what, and it gives a reason (performance) where the behaviour 
without a value belongs. |
   | `loggingFeatureEnabled` (endpoint option) | It opens with filler (This 
option enables) and does not say where the messages are written. |
   | `skipFaultLogging` (endpoint option) | It opens with filler (This option 
controls whether) and does not say for which exceptions the entry is skipped or 
how. |
   | `username` (endpoint option) | It opens with filler (This option is used 
to) and does not say that the user name is only sent together with password. |
   | `password` (endpoint option) | It opens with filler (This option is used 
to) and does not say that the password is only sent together with username. |
   | `cookieHandler` (endpoint option) | It does not say which side uses the 
handler or what it does with the cookies. |
   | `hostnameVerifier` (endpoint option) | It does not say which requests use 
the verifier or which side uses it. |
   | `serviceClass` (endpoint option) | It names JSR181 annotations without 
saying what they change, and it does not say when the class is required. |
   | `CamelCxfOperationNamespace` (header) | It repeats the header name and 
does not say which side sets it and which side reads it. |
   | `CamelDestinationOverrideUrl` (header) | It repeats the header name and 
does not say what the value replaces or which side reads it. |
   | `ResponseContext` (header) | It repeats the header name and does not say 
what the Map holds or what each side does with it. |
   | `CamelAuthentication` (header, shared with cxfrs) | It repeats the header 
name and does not say what the value is or which side sets it. |
   | `RequestContext` (header) | It repeats the header name and does not say 
what the Map is for or which side reads it. |
   
   The new `muteException` text keeps the content of the CAMEL-24477 text and 
fixes the lost `@`.
   
   ## cxfrs
   
   | Option or header | Problem in the current text |
   |---|---|
   | `synchronous` (component option) | It does not say what the option does on 
each side; the consumer reads it too, although the label is producer. |
   | `useGlobalSslContextParameters` (component option) | It does not say that 
only the producer uses the global parameters, and only for endpoints that have 
no sslContextParameters. |
   | `beanId` (endpoint path option) | It has a grammar error (Must used) and 
names only a CxfRsEndpoint bean, although the component first looks for a CXF 
factory bean, such as the one of a cxf:rsServer or cxf:rsClient element. |
   | `address` (endpoint path option) | The word publish names only the use by 
the consumer; the producer sends its requests to this address, and a header can 
replace it. |
   | `resourceClasses` (endpoint option) | It describes only the consumer, 
although the producer uses the classes for the proxy-based API, and it does not 
say that an interface is enough or what the consumer needs without them. |
   | `serviceBeans` (endpoint option) | It does not say that the consumer calls 
the methods of the beans only when performInvocation is true, which is not the 
default. |
   | `modelRef` (endpoint option) | It opens with filler, names a service 
class, which is not a cxfrs option, and does not say what the value is or that 
only the consumer can do without a class. |
   | `bindingStyle` (endpoint option) | It says that two values are possible 
but lists three, repeats a word (also also), and does not say what the 
SimpleConsumer response is or that setting binding selects Custom. |
   | `publishedEndpointUrl` (endpoint option) | It is not grammatical, names 
endpointUrl, which is not an option, and does not say what is replaced or that 
camel-cxf-rest does not bring the module that serves the WADL. |
   | `binding` (endpoint option) | It names CxfBinding, the binding interface 
of the cxf component, although the option takes an 
org.apache.camel.component.cxf.jaxrs.CxfRsBinding, and it does not say that 
setting it selects Custom. |
   | `providers` (endpoint option) | It does not say where the providers are 
used or that they are added to the built-in providers of CXF. |
   | `features` (endpoint option) | It does not say what the features are, 
which side uses them, or how to write them in the endpoint URI. |
   | `httpClientAPI` (endpoint option) | It names HttpClientAPI and 
ProxyClientAPI, which are not classes of Camel or CXF, and does not say what 
each API takes from the message or that a header replaces the option. |
   | `ignoreDeleteMethodMessageBody` (endpoint option) | It opens with filler, 
names the class CxfRsProducer, and does not say what is sent when the option is 
false. |
   | `throwExceptionOnFailure` (endpoint option) | It does not name the 
exception, and it does not say that the synchronous producer checks only a 
Response or that CXF can fail the exchange itself. |
   | `maxClientCacheSize` (endpoint option) | It names CxfProvider and 
CxfRsProvider, which do not exist, and says that CXF clients are cached, while 
the producer caches one JAXRSClientFactoryBean for each address. |
   | `sslContextParameters` (endpoint option) | It names the SSL Context 
although the type is SSLContextParameters, and does not say what the option is 
used for or which side uses it. |
   | `hostnameVerifier` (endpoint option) | It does not say which requests use 
the verifier or which side uses it. |
   | `loggingFeatureEnabled` (endpoint option) | It opens with filler (This 
option enables) and does not say where the messages are written. |
   | `loggingSizeLimit` (endpoint option) | It is not grammatical (total size 
of number of bytes) and does not say what is limited. |
   | `skipFaultLogging` (endpoint option) | It opens with filler (This option 
controls whether) and does not say how the entry is skipped or that other log 
entries stay. |
   | `continuationTimeout` (endpoint option) | It names CxfConsumer, the 
consumer of the cxf component, opens with filler, and does not say what happens 
when the timeout expires. |
   | `performInvocation` (endpoint option) | It does not say on which object 
the method is called, how the route gets the result, or that interface resource 
classes are then not served. |
   | `propagateContexts` (endpoint option) | It names custom CXFRS processors, 
which do not exist, and does not give the names of the exchange properties. |
   | `cookieHandler` (endpoint option) | It does not say which side uses the 
handler or what it does with the cookies. |
   | `synchronous` (endpoint option) | It does not say what the option does on 
each side; the consumer reads it too, although the label is producer. |
   | `defaultBus` (endpoint option) | The cxfrs endpoint never creates a bus, 
so the text describes a case that does not occur; the option only acts on a bus 
set with the bus option. |
   | `cxfRsConfigurer` (endpoint option) | It names CxfRsEndpointConfigurer and 
CxfEndpointConfigurer, which are generated property configurers and not the 
type of the option, and it promises a configureServer call that cxfrs never 
makes. |
   | `CamelHttpMethod` (header) | It describes only the producer, which reads 
the header only with the WebClient API, and does not say that the consumer sets 
it. |
   | `CamelHttpPath` (header) | It does not say what the path is relative to on 
either side, or that the producer reads it only with the WebClient API. |
   | `Content-Type` (header) | It does not say which side sets or uses the 
header, or that the consumer uses it for the response only in some cases. |
   | `CamelHttpQuery` (header) | It does not give the form of the value or how 
the producer combines it with CamelCxfRsQueryMap and the query parameters of 
the endpoint URI. |
   | `CamelHttpResponseCode` (header) | It does not say which side sets the 
header and which side reads it, or what status code applies when it is not set. 
|
   | `Content-Encoding` (header) | It can be read as the character encoding, 
and it does not say which side sets or sends it. |
   | `org.apache.cxf.message.Message.PROTOCOL_HEADERS` (header) | It does not 
say what the Map holds or that only the consumer uses it, for the response. |
   | `CamelCxfMessage` (header) | It does not say which CXF message it is or 
who sets and reads it. |
   | `CamelCxfRsUsingHttpAPI` (header) | It names HttpClientAPI and 
ProxyClientAPI, which are not classes of Camel or CXF, and does not say that 
the header replaces the httpClientAPI option. |
   | `CamelCxfRsVarValues` (header) | It does not say that the values fill URI 
template variables, of which template, or in which order. |
   | `CamelCxfRsResponseClass` (header) | It does not say what the class is 
used for, which side reads it, or what the message body is without it. |
   | `CamelCxfRsResponseGenericType` (header) | It does not say when the type 
is used or that the synchronous and the asynchronous path use it differently. |
   | `CamelCxfRsQueryMap` (header) | It does not say what the Map holds or that 
it replaces CamelHttpQuery and the query parameters of the endpoint URI. |
   | `CamelCxfRsOperationResourceInfoStack` (header) | It copies the first 
sentence of the CXF Javadoc of OperationResourceInfoStack and does not say who 
sets the header. |
   
   The header `CamelAuthentication` is one constant for both components, so 
cxfrs shows the cxf text of that header.
   
   # Target
   
   - [x] I checked that the commit is targeting the correct branch (Camel 4 
uses the `main` branch)
   
   # Tracking
   
   - [x] If this is a large change, bug fix, or code improvement, I checked 
there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL) filed for 
the change (usually before you start working on it).
   
   # Apache Camel coding standards and style
   
   - [x] I checked that each commit in the pull request has a meaningful 
subject line and body.
   - [x] I have run `mvn clean install -Dquickly -DskipTests` from the root 
folder and then `mvn install -DskipTests -nsu` in `components/camel-cxf`, 
`catalog/camel-catalog`, `dsl/camel-endpointdsl` and `dsl/camel-componentdsl`, 
and I have committed all auto-generated changes.
   
   # AI-assisted contributions
   
   - [x] If this PR includes AI-generated code, commits have proper 
co-authorship attribution (e.g., `Co-authored-by` trailers) and the PR 
description identifies the AI tool used.
   
   The descriptions and this text were drafted with Claude (Anthropic) and 
checked against the Camel source and the CXF 4.2.4 sources.
   
   _Claude Code on behalf of saravanakumar1987_
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to