0

我正在尝试在我的猫鼬服务器中设置 mod_vcard 以实现 XEP-0055(Jabber 搜索)。我安装并配置了模块,如下所示:

{mod_vcard, [
            {allow_return_all, true},
            {search_all_hosts, true},
            {matches, 1},
            {search, true},
            {host, localhost},
            {backend, odbc}
          ]},

当我启动我的猫鼬服务器时,我可以看到 mod_vcard 已启动。但是,当我从客户端发送搜索请求时,它不会被触发。我在 mod_vcard 代码中添加了一些调试代码。

process_local_iq(_From,_To,#iq{type = set, sub_el = SubEl} = IQ) ->
    ?DEBUG("process_local_iq 1",[]),
    IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
process_local_iq(_From,_To,#iq{type = get, lang = Lang} = IQ) ->
    ?DEBUG("process_local_iq 2",[]),
    ....
    ....
process_sm_iq(From, To, #iq{type = set, sub_el = VCARD} = IQ) ->
    ?DEBUG("process_sm_iq 1",[]),
    ....
    ....
process_sm_iq(_From, To, #iq{type = get, sub_el = SubEl} = IQ) ->
    ?DEBUG("process_sm_iq 2",[]),
    ....
    ....

我在我的日志中没有看到任何这些调试消息。在我的日志中,我看到 ejabberd_c2s 正在发送服务不可用 (503)。我究竟做错了什么?

以下是我的日志:

2015-03-16 10:59:27.345 [debug] <0.762.0>@ejabberd_receiver:process_data:336 Received XML on stream = "<iq id="w615o-7" to="search.my.server.com" type="set"><query xmlns="jabber:iq:search"><x xmlns="jabber:x:data" type="submit"><field var="FORM_TYPE" type="hidden"><value>jabber:iq:search</value></field><field var="search" type="text-single"><value>my@email.com</value></field><field var="Email" type="boolean"><value>1</value></field></x></query></iq>"
2015-03-16 10:59:27.349 [debug] <0.762.0>@shaper:update:69 State: {maxrate,1000,992.0585110242283,1426528739894101}, Size=361
M=358.15571037445164, I=27451.92
2015-03-16 10:59:27.350 [debug] <0.763.0>@mod_stanza_ack:on_user_send_packet:67 Sent packet (1): {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-7">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"my@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]}]}
2015-03-16 10:59:27.353 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-7">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"my@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]}]}
2015-03-16 10:59:27.355 [debug] <0.763.0>@ejabberd_s2s:do_route:267 s2s manager
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...}]}
2015-03-16 10:59:27.356 [debug] <0.763.0>@ejabberd_s2s:find_connection:304 Finding connection for {<<"my.server.com">>,<<"search.my.server.com">>}
2015-03-16 10:59:27.367 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-7">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"my@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}
2015-03-16 10:59:27.375 [debug] <0.763.0>@mod_timetagger:add_server_timestamp:22 Filter local packet triggered {{jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>},{jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>},{xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-7">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"my@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}}
2015-03-16 10:59:27.378 [debug] <0.763.0>@ejabberd_local:do_route:378 local route
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.380 [debug] <0.763.0>@ejabberd_sm:do_route:472 session manager
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.381 [debug] <0.763.0>@ejabberd_sm:do_route:488 sending to process <0.763.0>
2015-03-16 10:59:27.393 [debug] <0.763.0>@ejabberd_c2s:send_text:1598 Send XML on stream = <<"<iq from='search.my.server.com' to='myuserid@my.server.com/Resource' type='error' xml:lang='' id='w615o-7'><query xmlns='jabber:iq:search'><x xmlns='jabber:x:data' type='submit'><field var='FORM_TYPE' type='hidden'><value>jabber:iq:search</value></field><field var='search' type='text-single'><value>my@email.com</value></field><field var='Email' type='boolean'><value>1</value></field></x></query><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>">>
2015-03-16 10:59:27.423 [debug] <0.762.0>@ejabberd_receiver:process_data:336 Received XML on stream = "<iq id="w615o-8" to="search.my.server.com" type="set"><query xmlns="jabber:iq:search"><FORM_TYPE>jabber:iq:search</FORM_TYPE><search>my@email.com</search><Email>1</Email></query></iq>"
2015-03-16 10:59:27.423 [debug] <0.762.0>@shaper:update:69 State: {maxrate,1000,502.6043875975931,1426528767346021}, Size=194
M=129.55827998503904, I=77.054
2015-03-16 10:59:27.424 [debug] <0.763.0>@mod_stanza_ack:on_user_send_packet:67 Sent packet (1): {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-8">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"my@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]}]}
2015-03-16 10:59:27.427 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-8">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"my@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]}]}
2015-03-16 10:59:27.429 [debug] <0.763.0>@ejabberd_s2s:do_route:267 s2s manager
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...}]}
2015-03-16 10:59:27.430 [debug] <0.763.0>@ejabberd_s2s:find_connection:304 Finding connection for {<<"my.server.com">>,<<"search.my.server.com">>}
2015-03-16 10:59:27.433 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-8">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"my@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}
2015-03-16 10:59:27.437 [debug] <0.763.0>@mod_timetagger:add_server_timestamp:22 Filter local packet triggered {{jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>},{jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>},{xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-8">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"my@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}}
2015-03-16 10:59:27.441 [debug] <0.763.0>@ejabberd_local:do_route:378 local route
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.442 [debug] <0.763.0>@ejabberd_sm:do_route:472 session manager
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.443 [debug] <0.763.0>@ejabberd_sm:do_route:488 sending to process <0.763.0>
2015-03-16 10:59:27.443 [debug] <0.763.0>@ejabberd_c2s:send_text:1598 Send XML on stream = <<"<iq from='search.my.server.com' to='myuserid@my.server.com/Resource' type='error' xml:lang='' id='w615o-8'><query xmlns='jabber:iq:search'><FORM_TYPE>jabber:iq:search</FORM_TYPE><search>my@email.com</search><Email>1</Email></query><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>">>
2015-03-16 10:59:27.477 [debug] <0.762.0>@ejabberd_receiver:process_data:336 Received XML on stream = "<iq id="w615o-9" to="search.my.server.com" type="set"><query xmlns="jabber:iq:search"><x xmlns="jabber:x:data" type="submit"><field var="FORM_TYPE" type="hidden"><value>jabber:iq:search</value></field><field var="search" type="text-single"><value>My@email.com</value></field><field var="Email" type="boolean"><value>1</value></field></x></query></iq>"
2015-03-16 10:59:27.479 [debug] <0.762.0>@shaper:update:69 State: {maxrate,1000,997.1462278154359,1426528767476075}, Size=361
M=359.9727198648478, I=1.691
2015-03-16 10:59:27.479 [debug] <0.763.0>@mod_stanza_ack:on_user_send_packet:67 Sent packet (1): {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-9">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"My@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]}]}
2015-03-16 10:59:27.482 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-9">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"My@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]}]}
2015-03-16 10:59:27.483 [debug] <0.763.0>@ejabberd_s2s:do_route:267 s2s manager
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...}]}
2015-03-16 10:59:27.483 [debug] <0.763.0>@ejabberd_s2s:find_connection:304 Finding connection for {<<"my.server.com">>,<<"search.my.server.com">>}
2015-03-16 10:59:27.488 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-9">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"My@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}
2015-03-16 10:59:27.493 [debug] <0.763.0>@mod_timetagger:add_server_timestamp:22 Filter local packet triggered {{jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>},{jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>},{xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-9">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"x">>,[{<<"xmlns">>,<<"jabber:x:data">>},{<<"type">>,<<"submit">>}],[{xmlel,<<"field">>,[{<<"var">>,<<"FORM_TYPE">>},{<<"type">>,<<"hidden">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"jabber:iq:search">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"search">>},{<<"type">>,<<"text-single">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"My@email.com">>}]}]},{xmlel,<<"field">>,[{<<"var">>,<<"Email">>},{<<"type">>,<<"boolean">>}],[{xmlel,<<"value">>,[],[{xmlcdata,<<"1">>}]}]}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}}
2015-03-16 10:59:27.493 [debug] <0.763.0>@ejabberd_local:do_route:378 local route
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.494 [debug] <0.763.0>@ejabberd_sm:do_route:472 session manager
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.496 [debug] <0.763.0>@ejabberd_sm:do_route:488 sending to process <0.763.0>
2015-03-16 10:59:27.499 [debug] <0.763.0>@ejabberd_c2s:send_text:1598 Send XML on stream = <<"<iq from='search.my.server.com' to='myuserid@my.server.com/Resource' type='error' xml:lang='' id='w615o-9'><query xmlns='jabber:iq:search'><x xmlns='jabber:x:data' type='submit'><field var='FORM_TYPE' type='hidden'><value>jabber:iq:search</value></field><field var='search' type='text-single'><value>My@email.com</value></field><field var='Email' type='boolean'><value>1</value></field></x></query><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>">>
2015-03-16 10:59:27.840 [debug] <0.762.0>@ejabberd_receiver:process_data:336 Received XML on stream = "<iq id="w615o-10" to="search.my.server.com" type="set"><query xmlns="jabber:iq:search"><FORM_TYPE>jabber:iq:search</FORM_TYPE><search>My@email.com</search><Email>1</Email></query></iq>"
2015-03-16 10:59:27.843 [debug] <0.762.0>@shaper:update:69 State: {maxrate,1000,999.001458390946,1426528767836766}, Size=195
M=194.80547862392234, I=4.903
2015-03-16 10:59:27.844 [debug] <0.763.0>@mod_stanza_ack:on_user_send_packet:67 Sent packet (1): {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-10">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"My@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]}]}
2015-03-16 10:59:27.850 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-10">>},{<<"to">>,<<"search.my.server.com">>},{<<"type">>,<<"set">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"My@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]}]}
2015-03-16 10:59:27.856 [debug] <0.763.0>@ejabberd_s2s:do_route:267 s2s manager
        from {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        to {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        packet {xmlel,<<"iq">>,[{<<"xml:lang">>,<<>>},{<<"id">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...}]}
2015-03-16 10:59:27.858 [debug] <0.763.0>@ejabberd_s2s:find_connection:304 Finding connection for {<<"my.server.com">>,<<"search.my.server.com">>}
2015-03-16 10:59:27.865 [debug] <0.763.0>@ejabberd_router:do_route:243 route
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-10">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"My@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}
2015-03-16 10:59:27.874 [debug] <0.763.0>@mod_timetagger:add_server_timestamp:22 Filter local packet triggered {{jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>},{jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>},{xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"search.my.server.com">>},{<<"xml:lang">>,<<>>},{<<"id">>,<<"w615o-10">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"jabber:iq:search">>}],[{xmlel,<<"FORM_TYPE">>,[],[{xmlcdata,<<"jabber:iq:search">>}]},{xmlel,<<"search">>,[],[{xmlcdata,<<"My@email.com">>}]},{xmlel,<<"Email">>,[],[{xmlcdata,<<"1">>}]}]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]}]}]}}
2015-03-16 10:59:27.875 [debug] <0.763.0>@ejabberd_local:do_route:378 local route
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.880 [debug] <0.763.0>@ejabberd_sm:do_route:472 session manager
        from {jid,<<>>,<<"search.my.server.com">>,<<>>,<<>>,<<"search.my.server.com">>,<<>>}
        to {jid,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>,<<"myuserid">>,<<"my.server.com">>,<<"Resource">>}
        packet {xmlel,<<"iq">>,[{<<"type">>,<<"erro"...>>},{<<"from">>,<<...>>},{<<...>>,...},{...}],[{xmlel,<<...>>,...},{xmlel,...}]}
2015-03-16 10:59:27.881 [debug] <0.763.0>@ejabberd_sm:do_route:488 sending to process <0.763.0>
2015-03-16 10:59:27.882 [debug] <0.763.0>@ejabberd_c2s:send_text:1598 Send XML on stream = <<"<iq from='search.my.server.com' to='myuserid@my.server.com/Resource' type='error' xml:lang='' id='w615o-10'><query xmlns='jabber:iq:search'><FORM_TYPE>jabber:iq:search</FORM_TYPE><search>My@email.com</search><Email>1</Email></query><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>">>

更新:

我们从 ejabberd_s2s 模块中得到了这些错误,因为我们的客户正在添加一个额外的“搜索”。服务器名称的infron。现在我们删除了它,那些错误就消失了。但是,现在服务器根本没有响应。我们可以在日志中看到的是

2015-03-16 16:37:25.515 [debug] <0.683.0>@ejabberd_receiver:process_data:336 Received XML on stream = "<iq type="set" id="C7FE97D8-2C26-4067-BA40-464E1A746CF9" from="myuserid@my.server.com/Resource" to="my.server.com" xml:lang="en"><query xmlns="jabber:iq:search"><x xmlns="jabber:x:data" type="set"><field var="FORM_TYPE" type="hidden"><value>jabber:iq:search</value></field><field var="search" type="text-single"><value>search@user.com</value></field><field var="Email" type="boolean"><value>1</value></field></x></query></iq>"
2015-03-16 16:37:25.518 [debug] <0.683.0>@shaper:update:69 State: {maxrate,1000,987.4793436293581,1426549030127924}, Size=466

我想我越来越近了。请帮忙。

4

1 回答 1

1

我尝试使用官方 ejabberd 版本,并且可以使其正常工作。您能否使用您发送来查询目录的 XMPP 数据包扩展您的问题。您是否在服务发现项目列表中看到 Jabber 用户目录?

为了您的信息,您可以在 ejabberd 指南中找到更多信息:mod_vcard

于 2015-03-17T08:58:17.027 回答