Будучи новым для XMPP и Java (я - iOS-разработчик), следуя некоторому учебному пособию, мне удалось написать серверный компонент (Openfire) и клиентское приложение iOS (используя iOS xmppframeowrk от robbiehanson). Я смог отправить и получить сообщение от и от компонента < -> клиент iOS. Вот абстрактный код:Пространство имен компонентов Openfire XMPP в getChildElement в пакете
Отправка присутствия от iOSclient приложения к серверному компоненту:
XMPPPresence *presence = [XMPPPresence presence];
[presence addAttributeWithName:@"to" stringValue:serverComponentJid];
NSXMLElement *someInfo = [NSXMLElement elementWithName:@"someInfo"
stringValue:@"xyz"];
[presence addChild:someInfo];
[_xmppStream sendElement:presence];
Получение пакета в серверном компоненте:
if (packet instanceof Presence){
org.xmpp.packet.Presence recvPresence = (Presence) packet;
Element theInfo = recvPresence.getChildElement("someInfo", "***what_shoud_be_the_namespace_here***");
System.out.println("Some info in the presence as " + theInfo.attributeValue("someInfo"));
я могу распечатать пакет и увидеть someInfo. Когда я передаю «» в пространстве имен, я могу получить его правильно, что понятно. Однако я до сих пор не понимаю, что и как использовать пространство имен в xmpp. Любой проводник, tut, link, ref или ответы, пожалуйста,
UPDATE: Отредактированные вопрос. Если я отправлю пустую строку, я могу получить дочерний элемент. например Element theInfo = recvPresence.getChildElement ("someInfo", "") ;. Однако мне по-прежнему нужна информация о понимании пространства имен xmpp. Любые ссылки ссылок и т. Д. – SaffronState