2011-12-10 74 views
0

我有一個需要爲每個帖子發送pingbacks的列表。它看起來是這樣的:如何處理XMLRPC :: FaultException錯誤?

def send_trackback 
    #do stuff 
    begin 
    Pingback::Client.new.ping(source_uri, target_uri) 
    trackback.status = 1 
    trackback.save 
    rescue 
    trackback.status = 2 
    trackback.save 
    nil 
    end 
end 

以下是完整的錯誤:

XMLRPC::FaultException (The specified target URL cannot be used as a target. It either doesn’t exist, or it is not a pingback-enabled resource.): 
    app/controllers/posts_controller.rb:67:in `block in send_trackback' 
    app/controllers/posts_controller.rb:62:in `send_trackback' 
    app/controllers/posts_controller.rb:8:in `pingback' 

Rendered /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.1ms) 
Rendered /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (0.8ms) 
Rendered /usr/local/lib/ruby/gems/1.9.1/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (4.6ms) 

狀態開始時爲0,但如果回ping失敗,那也沒關係,但我想狀態設置2,我想它只是繼續不會拋出一個錯誤的軌道。如果它是成功的,我希望狀態設置爲1.

不應該開始 - 救援塊處理這個?我錯過了什麼?

回答

0

這應該工作。它看起來像在pingback/send_trackback中觸發異常,而不是send_pingback

+0

修復了錯字。我手動鍵入該部分。 –

+0

是否有可能導致緩存的事情就此結束。看起來我改變了一些開發,拉到生產,它不起作用。等待幾個小時,它就可以工作。這必須緩存! –