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]
