TrackbackPingとUpdatePingのResponseの違い
TwitbackerとWassbackerで、Pingの成功/失敗のレスポンスを返すために、ちょっとPingのレスポンスの仕様を調べてみた。
なんだかTrackbackPingとUpdatePingでは、返すレスポンスが全然違うようだ。
この辺統一してしまえばいいのに。。。
ということで、TwitbackerとWassbackerで、成功/失敗レスポンスをちゃんと返すようにした。
あと、サーバー側でアプリケーションエラーが起こったときにもちゃんとPingのエラーメッセージを返すようにした。
このへんは、Rails側では、ApplicationErrorをrescueして「500 Internal Server Error」と一緒にエラーメッセージをrender :textで返すだけ。
↓こんな感じ↓
render :text => @@error_message, :status => 500
ちなみに、TrackbackPingとUpdatePingのSuccess/Error Responseはそれぞれ以下のようになっています。
Update Ping
Success
<?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <struct> <member> <name>flerror</name> <value><boolean>0</boolean></value> </member> <member> <name>message</name> <value>Thanks for the ping.</value> </member> </struct> </value> </param> </params> </methodResponse>
Error
<?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <struct> <member> <name>flerror</name> <value><boolean>1</boolean></value> </member> <member> <name>message</name> <value>Error occured. Your message is here.</value> </member> </struct> </value> </param> </params> </methodResponse>
Trackback Ping
Success
<?xml version="1.0" encoding="UTF-8"?> <response> <error>0</error> </response>
Error
<?xml version="1.0" encoding="UTF-8"?> <response> <error>1</error> <message>Error occured. Your message is here.</message> </response>