Repository navigation
Conversation
…, undertow, vertx-websocket, atmosphere-websocket, webhook, cxf, cxfrs, spring-ws and rest-postman Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
🔬 Scalpel shadow comparison — Scalpel: 76 of 707 tested, 26 compile-only — current: 76 all testedMaveniverse Scalpel detected 76 affected modules (current approach: 76). Skip-tests mode would test 76 modules (13 direct + 64 downstream), skip tests for 26 (generated code, meta-modules) Modules Scalpel would test (76)
Modules with tests skipped (26)
Build reactor — dependencies compiled but only changed modules were tested (13 modules, 3m 2s total)Total reactor time: 3m 2s
Top 20 slowest modules:
|
…, undertow, cxf, cxfrs, spring-ws and four more (#28395) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
|
Merged to main as e485925 (squashed with the other CAMEL-24961 body type groups, tested together locally). Claude Code on behalf of davsclaus |
Claude Code on behalf of davsclaus
This group adds the catalog body types (CAMEL-24961) for twelve HTTP, WebSocket and web service components: netty, netty-http, jetty, servlet, undertow, vertx-websocket, atmosphere-websocket, webhook, cxf, cxfrs, spring-ws and rest-postman. Each change is an
@BodyTypesannotation on the Endpoint, plus the JSON it generates and the catalog copy. Five doc pages had their body text corrected.What the catalog says now
String(the default codec has no TCP framing: textline=true gives one line each);byte[]with udpByteArrayCodec; aByteBufwith allowDefaultCodec=falsebyte[]byte[]for POST, PUT and PATCH, null for the other methods, a Map for a form; WebSocket: a String orbyte[]byte[]; WebSocket: unchangedbyte[]for a binary one; theServerWebSocketfor the OPEN eventbyte[]as binary, other bodies as their toStringbyte[]; InOnly, no replyunknown: what the webhook handler of the delegate makes of the requestany: the delegates set the response themselvesMessageContentsListof the parameters; PAYLOAD aCxfPayload; RAW the stream of the envelope; CXF_MESSAGE aSOAPMessageMessageContentsList; SimpleConsumer: the entity as the method declares itResponse, text, bytes, a stream, a file, or a bean that a JAX-RS provider writesjakarta.ws.rs.core.Response; the return value of the method with httpClientAPI=falseSource(format xml)Source, or nulldirect:<requestId>PostmanRunResultWhere an HTTP server answers with a Map, a List or a POJO, the description says to marshal it first, as it does for platform-http.
Checked at runtime. The throwaway tests below are not part of the PR.
java.net.httpclient and WebSocket.The tests sent text, bytes, a stream, a file, a Map, a List, a POJO, a number and no body, and logged the class of the body after each step.
Not run:
Choices
bytesandunchanged, as sql and jdbc do.unknown, as the delegate component decides its body.Doc fixes
byte[].org.apache.camel.component.cxf.common.CxfPayload.jakarta.ws.rs.core.Response, notjavax.Open PRs that change these modules (#21800, #22358, #28337, #28352, #28357, #28366, #28369, #28377) do not touch the Endpoint classes or the generated files of this PR.
Bugs found, not fixed here. Filed one JIRA per component: CAMEL-26136 (camel-netty), CAMEL-26137 (camel-netty-http), CAMEL-26138 (camel-http-common), CAMEL-26139 (camel-servlet), CAMEL-26140 (camel-undertow), CAMEL-26141 (camel-atmosphere-websocket), CAMEL-26142 (camel-spring-ws), CAMEL-26143 (camel-cxf), CAMEL-26144 (camel-cxfrs).
IllegalReferenceCountException, and the client gets no response.byte[], not null, for a 204.WebsocketConsumer.getQueryMapusesnameval[1], so a query parameter without=fails with an ArrayIndexOutOfBoundsException. This was read from the code.byte[]gives the SOAP fault "class [B cannot be cast to class [Ljava.lang.Object;".DefaultCxfBinding.populateOutBodychecksisArray()and then casts toObject[].byte[]one per byte.byte[], stream or DOM Document body, with no error; a reply of text, a stream or a Document does the same.File, and a rawInputStreamwithout stream caching.Local checks
🤖 Generated with Claude Code