2016-05-22 8 views
0

Was mache ich falsch? Ich versuche, Beispielcode von json-rpc Dokumentation ausführen. Togather mit EventMachine:json-rpc ereignismaschine stand alone service

require 'json-rpc' 
require 'thin' 

class AsyncApp 
    include JsonRpc 
    AsyncResponse = [-1, {}, []].freeze 
    def call env 
    rpc_call(env) 
    end 

    def rpc_sum a, b 
    result = Rpc::AsyncResult.new 
    EventMachine::next_tick do 
     result.reply a + b 
     result.succeed 
    end 
    result 
    end 
end 

EM::run do 
    Thin::Server.start('0.0.0.0', 8999) do 
    map('/'){ run AsyncApp.new } 
    end 
end 

Es ist kein Fehler auf dieser Serverkonsole angezeigt. Das Ergebnis ist auf Transportschicht auf dem JSON-RPC-Client ist:

500 Internal Server Error 

habe ich denselben Kunden mit jimson gem implememtation versuchen - es funktioniert aber nicht und Asynchron-Anrufe eventmachine unterstützen. (Beispiel anzeigen, wenn Sie wissen, wie es möglich ist)

Antwort

0

Das Problem war auf der Standard "Willkommen" -Seite, die Route "/" zugewiesen ist. Ich versuche nicht, mit dem Browser auf "/" zu gehen, sondern versuche nur, eine Verbindung über den RPC-Client herzustellen. Einige, wie Standard "Willkommen" Seite Route "/" Regel wird nicht von map("/"){...} Regel überschrieben.

Die Lösung ist Route Route Regel so schreiben map("/rpc"){...}

Verwandte Themen