Более-менее разобрался с smack. Подходит для моих целей (отправка сообщений), нормально работает. Делал так:
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Java-библиотека</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>import javax.swing.JFrame;
import org.jivesoftware.smack.*;
import org.jivesoftware.smack.packet.Message;
public class MessageTo {
public void NotesMain(String sendTo, String bodyOfMessage) {
Chat chat = null;
String[]arrSendTo = sendTo.split("~");
try {
SASLAuthentication.supportSASLMechanism("PLAIN");
ConnectionConfiguration config = new ConnectionConfiguration("192.168.0.1", 5222, "jabber.ru");
XMPPConnection connection = new XMPPConnection(config);
connection.connect();
connection.login("name", "pass");
Thread.currentThread();
Thread.sleep(2000);
for(int i = 0; i <= arrSendTo.length - 1; i++)
{
chat = connection.getChatManager().createChat(arrSendTo, new MessageListener() {
public void processMessage(Chat chat, Message message) {
System.out.println("Received message: " + message);
}
});
chat.sendMessage(bodyOfMessage);
}
} catch(Exception e) {
e.printStackTrace();
}
}
}[/CODE]
И использование из
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">агента на Lotusscript</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='ls'>Option Public
Option Declare
UseLSX "*javacon"
Use "MessageTo"
Sub Initialize()
Dim javaSession As JavaSession
Dim messageTo As JavaClass
Dim messageObject As JavaObject
Dim a As Variant
Dim strNames() As string
'Инициализация Java-класса
Set javaSession = New JavaSession()
Set messageTo = javaSession.GetClass("MessageTo")
Set messageObject = messageTo.CreateObject
'Передается строка с именами через разделитель для сплита в джава-коде
strNames = "name1@jabber.ru" & "~" & "name2@jabber.ru"
a = messageObject.NotesMain(arrNames, "Сообщение из лотусскрипта")
End Sub[/CODE]
Товарищи, совсем все плохо у меня с жавой, подскажите плиз, как в моем случае передать массив строк в жава-класс. И как сделать паузу между коннектом к серверу и отправкой сообщения? Без этого не работает. Я так понимаю, сообщение отправляется быстрее, чем происходит авторизация на сервере.