您好我正在尝试使用为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>
这有什么问题。请帮我解决这个问题。 提前谢谢..
答案 0 :(得分:2)
检查您的搜索插件是否在openfire管理员中启用。您正在尝试向gotztools发送请求。它只是一个域名。检查openfire管理控制台的服务器设置中的搜索服务设置中的搜索名称。发送请求到该名称以获得回复。希望这有助于你...