Johan Pramming created CAMEL-14194:
--------------------------------------
Summary: Invalid JID is generated for private chat in XMPP
component
Key: CAMEL-14194
URL: https://issues.apache.org/jira/browse/CAMEL-14194
Project: Camel
Issue Type: Bug
Components: camel-xmpp
Affects Versions: 3.0.0.RC3, 2.24.2
Reporter: Johan Pramming
An invalid JID, containing non-LDH characters, is created for the receiver
(participant) when a private chat is started. As a result it is not possible to
send chat messages directly to an user.
Group chats are not affected by the issue.
See:
https://stackoverflow.com/questions/58168566/problem-sending-messages-from-camel-xmpp-jid-malformed
Exception seen in Openfire (4.4.3):
{code:java}
java.lang.IllegalArgumentException: The input
'xxxx.xxx.xx@chat:[email protected]:camel' is not a valid JID domain part:
Contains non-LDH characters.
{code}
The issue can be fixed by removing the thread name when the JID is created:
{code:java}
diff --git
a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
index b1b30a117ed..6eb1b9cb59c 100644
---
a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
+++
b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java
@@ -97,7 +97,7 @@ public class XmppPrivateChatProducer extends DefaultProducer
{ private Chat getOrCreateChat(ChatManager chatManager, final String
participant, String thread) throws XmppStringprepException {
// this starts a new chat or retrieves the pre-existing one in a
threadsafe manner
- return chatManager.chatWith(JidCreate.entityBareFrom(participant + "@"
+ thread));
+ return chatManager.chatWith(JidCreate.entityBareFrom(participant));
} private synchronized void reconnect() throws InterruptedException,
IOException, SmackException, XMPPException {
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)