GNU health FHIR REST serverをインストールするためのオンラインドキュメントに従っています。Flask + Tornadoアプリケーション - サーバーとの通信方法(接続が拒否されました)
サーバーマシンでRESTサーバーアプリケーションを実行することができました。私は、サーバーに問い合わせるしようとするcurl
を使用
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.options import define, options
from app import create_app
from config import ProductionConfig
define("port", default=5000, help="Port to listen on", type=int)
#app = create_app(config=ProductionConfig)
app = create_app() #DebugConfig
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(options.port)
IOLoop.instance().start()
:
List all patients (http://localhost:5000/Patient)
Show info for patient id #1 (http://localhost:5000/Patient/1)
List all patients with ana in name (http://localhost:5000/Patient?name=ana)
# etc ...
これはトルネードサーバーを起動するために使用されたPythonコードです:According to the documentation、次エンドポイントは、私のサーバーから入手する必要があります:
curl http://localhost:5000/Patient
curl: (7) Failed to connect to localhost port 5000: Connection refused
注:私は(上記の貼り付けコードから)推測している、そのトルネードサーバーポート5000でリッスンしています。 `options.port 'の値を表示するようにコードを修正しましたが、なんらかの理由でコンソールには表示されません。また、ファイルに値を記録できませんでした(ファイルは書き込まれず、エラーメッセージも表示されません)。私は開いているポートを確認するためにlsof
で確認倍増
:
$ lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python2 23147 morpheous 4u IPv6 592698 0t0 TCP localhost:51950->localhost:8000 (ESTABLISHED)
私はポートトルネードが実行されているの確立に助けが必要なので、私は、RESTのAPIを照会するためにカールを使用することができます。
このコードは正しいように見えます。私の独自の 'create_app'関数を置き換えると動作します。この問題は、 'app'または' config'モジュールに何かあるはずです。 –
@BenDarnellどのポートがあなたのTornadoインスタンスを実行していましたか?また、私の質問では、 'curl'を使ってサーバーと話をする方法を知りたかったのですが、どうすればいいでしょうか? –
また、私は竜巻アプリケーションコード(私の質問で提供されるコード)をデバッグする方法を知っていますか?コンソールへの印刷や変数のファイルへの出力が不可能なため、問題をデバッグして解決することが難しくなります。 –