IQ not received as packet while using RequestHandler and IQProvider

Hey there!

I send an IQ message like this:

final IQ initializationIQ = new JaxbIq<>(of.createInitialization(initialization));
initializationIQ.setType(IQ.Type.get);
initializationIQ.setTo(XMPP_USERNAME + "/" + XMPP_RESOURCE);
final PacketCollector responsePacketCollector = getConnection().createPacketCollectorAndSend(initializationIQ);
final Stanza response = responsePacketCollector.nextResult(SmackConfiguration.getDefaultPacketReplyTimeout());

… and receive it with a RequestHandler. (IQProvider already registered)

final QName confirmInitializationQName = createConfirmInitialization(null).getName();
ProviderManager.addIQProvider(confirmInitializationFlexOpQName.getLocalPart(), confirmInitializationFlexOpQName.getNamespaceURI(), jaxbDEMSIqProvider);
getConnection().registerIQRequestHandler(newInitializationIQRequestHandler(IQ.Type.get, IQRequestHandler.Mode.sync));

Everything works fine: I get the answer from the service. But in the debugger window (Enhanced Debugger) there is no incoming entry for the request.

So the message will be deserialized, and the request handler answers, but the message won’t be catched as a stanza packet in the debugger.

If I don’t register the request handler, there is an incoming entry for the request.

Why is it?

Possible that the enhanced debugger doesn’t see IQ requestes catches by an IQ request handler. Thanks for reporting https://issues.igniterealtime.org/browse/SMACK-728

FYI. It’s not only for enhanced debugger. The IQ will be caught as raw message, then deserialized, but it won’t be caught in the registered stanza packet listener in the debugger.