2012-08-01 3 views
0

Я пытаюсь создать узел в ejabber с помощью XMPP и BOSH Manager. Но я хочу знать, какие значения должны быть переданы в строфе узла создания.создать узел pubsub в xmpp

Ниже приводится формат создания узла строфу, но я не в состоянии создать так может кто-нибудь сказать мне, что нужно передать в <formvalue> <tovalue> <nodevalue>

<iq type='set' 
    from='<fromvalue>' 
    to='<tovalue>' 
    id='create1'> 
    <pubsub xmlns='http://jabber.org/protocol/pubsub'> 
    <create node='<nodevalue>'/> 
    </pubsub> 
</iq> 

Примечание значения: Я использую ejabbered и BOSH url - http://example.com:5280/xmpp-http-bind.

я попытался это и я получаю функционально не реализованная ошибку

<body rid='95507820' xmlns='http://jabber.org/protocol/httpbind' sid='5c4fbfe432babab58fe5e39367fc1704c06ddfd7'> 
    <presence xmlns='jabber:client'> 
     <priority>-1</priority> 
    </presence> 
<iq to='example.com' type='set' xmlns='jabber:client' id='3742:sendIQ'> 
    <pubsub xmlns='http://jabber.org/protocol/pubsub'> 
    <create/> 
    <configure/> 
    </pubsub> 
</iq> 
</body> 

я попробовал другой способ тоже, и в этом случае я получаю Не удалось создать с JID-уродливы

<body rid='2037203608' xmlns='http://jabber.org/protocol/httpbind' sid='2a198251db476ef0490a4d3f591468b69edaf35b'> 
    <presence xmlns='jabber:client'> 
    <priority>-1</priority> 
    </presence> 
<iq to='example.com' type='set' xmlns='jabber:client' id='7398:sendIQ'> 
    <pubsub xmlns='http://jabber.org/protocol/pubsub'> 
    <create node='draw'/> 
    </pubsub> 
</iq> 

Я пробовал с filepath тоже, но я получаю Не удалось создать с запрещенным

<body rid='358865391' xmlns='http://jabber.org/protocol/httpbind' sid='0f7cf72754f0fc3b0b04c8c0bb488e816380d741'> 
    <presence xmlns='jabber:client'> 
     <priority>-1</priority> 
    </presence> 
    <iq to='pubsub.example.com' type='set' xmlns='jabber:client' id='8556:sendIQ'> 
     <pubsub xmlns='http://jabber.org/protocol/pubsub'> 
      <create node='/home/localhost/john/draw/'/> 
     </pubsub> 
    </iq> 
</body> 

ответ

2

Ну, для начала здесь соответствующий documentation.

  • from - это смещение пользователя, отправляющего iq, как всегда бывает при отправке iq.
  • to - это служба публикации, для которой вы хотите создать узел. Типичным значением будет pubsub.example.com, но это действительно зависит от конфигурации вашего сервера.
  • node принимает идентификатор создаваемого узла. В некоторых конфигурациях сервера это семантическое значение (обычно это путь), но попробуйте, например, с mynode.

Возможно, что пользователю, отправляющему iq, не разрешено создавать узел или что служба его не поддерживает. Можно сказать только в зависимости от строфы ошибки, если таковая имеется, поэтому, если вышеуказанное не работает, сделайте сообщение об ошибке, которую вы получите.

+0

см. Мои правки – Hunt

+0

Example.com не может быть услугой. Положите все, что вы положили в качестве службы pubsub в свой ejabberd.cfg – ggozad

+0

, где я могу найти его в ejabberd.cfg, как здесь по соображениям конфиденциальности. Я упомянул 'example.com' в реальном его' nxxxxxxt.com', есть ли какие-либо специальное место для указания службы для pubsub в файле .cfg? – Hunt

Смежные вопросы