在xcode中使用openfire的搜索插件时出错

时间:2012-03-20 12:58:41

标签: iphone openfire xmppframework

您好我正在尝试使用为openfire安装的搜索插件。我正在使用代码

发送iq请求
  NSXMLElement *queryElement = [NSXMLElement elementWithName:@"query" xmlns:@"jabber:iq:search"];
  NSXMLElement *iqElement = [NSXMLElement elementWithName:@"iq"];
  [iqElement addAttributeWithName:@"type" stringValue:@"get"];
  [iqElement addAttributeWithName:@"from" stringValue:@"aravind@gotztools"];
  [iqElement addAttributeWithName:@"to" stringValue:@"gotztools"];
  [iqElement addAttributeWithName:@"id" stringValue:@"search1"];
  [iqElement addAttributeWithName:@"xml:lang" stringValue:@"en"];
  [iqElement addChild:queryElement];
  NSLog(@"%@",[iqElement stringValue] );
  [[self appDelegate].xmppStream sendElement:iqElement];

发送时,会发送以下请求,

<iq type="get" from="aravind@gotztools" to="gotztools" id="search1" xml:lang="en">
  <query xmlns="jabber:iq:search"/>
</iq>

我收到错误,

 <iq xmlns="jabber:client" type="error" id="search1" from="gotztools" to="aravind@gotztools/9bd01a04"><query xmlns="jabber:iq:search"/><error code="501" type="cancel"><feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>

这有什么问题。请帮我解决这个问题。 提前谢谢..

1 个答案:

答案 0 :(得分:2)

检查您的搜索插件是否在openfire管理员中启用。您正在尝试向gotztools发送请求。它只是一个域名。检查openfire管理控制台的服务器设置中的搜索服务设置中的搜索名称。发送请求到该名称以获得回复。希望这有助于你...