0
votes

I am using Ejabberd as XMPP server and creating xmpp client in smack API.I want to send additional parameter with message.

My code is below :

public static void main(String[] args) throws SmackException,IOException,XMPPException {

         XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                  .setResource("Smack")
                  .setSecurityMode(SecurityMode.disabled)
                  .setServiceName("localhost")
                  .setHost("localhost")
                  .setPort(Integer.parseInt("5222"))
                  .build();
                AbstractXMPPConnection conn = new XMPPTCPConnection(config);
                try {                                           
                    conn.setPacketReplyTimeout(10000);
                    SASLAuthentication.unBlacklistSASLMechanism("PLAIN");
                    SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1");
                    SASLAuthentication.blacklistSASLMechanism("DIGEST-MD5");
                    //SASLAuthentication.
                    conn.connect();
                    conn.login("test1@localhost","123456");
                    System.out.println("login successfull");
                    Message message = new Message();
                    String stanza = "i am vip";                 
                    message.setBody(stanza);
                    stanza+= "<type>.jpg</type>";
                    ChatManager manager = ChatManager.getInstanceFor(conn);
                       manager.createChat("vipul@localhost").sendMessage(message);
                    message.setBody(stanza);
                    System.out.println("Message Sent");

                } catch (Exception e) {
                    e.printStackTrace();
                }

    }

By this code i am able to add type in xmpp stanza but i think it is not preferable way.So i need help to send additional parameter with message. If i get solution this will be appreciated. Thanks !!

1

1 Answers

3
votes

you can add additional parameter like that-

Message message = new Message();
                    String stanza = "i am vip";                 
                    message.setBody(stanza);
 message.addBody("customtag","Custom tag value");
 message.addBody("customtag1","Custom tag value1");

and you can get it like-

String customtageValue= message.getBody("customtag");

for more detail check this link