[
https://issues.apache.org/jira/browse/CAMEL-26156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-26156.
---------------------------------
Resolution: Fixed
Fixed by https://github.com/apache/camel/pull/28928 (merged to main as
696f8c88aed7868870fa3bdea3d3c5756fd232fb).
_Claude Code on behalf of Claus Ibsen (davsclaus)_
> camel-pubnub - FIRE and SETSTATE with no body still run the operation and may
> call the callback twice, and PNMessageResult has no type converter
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-26156
> URL: https://issues.apache.org/jira/browse/CAMEL-26156
> Project: Camel
> Issue Type: Bug
> Components: camel-pubnub
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 4.24.0
>
>
> Found while adding the catalog body types of xmpp, pubnub and
> reactive-streams (CAMEL-24961, PR #28394).
> h4. 1. FIRE and SETSTATE with an empty body still run the operation
> {{PubNubProducer.doFire}} (main 2a465aa4814c, line 126) and {{doSetState}}
> (line 174) set an exception and call {{callback.done(true)}} when the body is
> empty (lines 129 and 177), but do not return. The PubNub call still runs and
> calls {{callback.done(false)}} again when it completes, and {{process}}
> returns false although the callback was already called. FIRE with a null body
> ends with the PubNub error {{Message Missing}} instead of {{Can not fire
> empty message}}. Checked on 4.24.0-SNAPSHOT with WireMock for the PubNub API.
> Proposed: throw as {{doPublish}} does (line 100), so {{process}} sets the
> exception, calls the callback once and returns true.
> h4. 2. The consumer body has no type converter
> {{PubNubConsumer}} (line 140) sets the body to the {{PNMessageResult}}, and
> there is no type converter for it, so {{$\{body\}}} or a conversion to String
> gives {{PNMessageResult@hash}} instead of the message. Checked on
> 4.24.0-SNAPSHOT with WireMock for the PubNub API.
> Proposed: add a type converter from {{PNMessageResult}} to String (the JSON
> of {{getMessage()}}), or document {{$\{body.message\}}}.
> _Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)